QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#319345#4829. Mark on a Graphduongnc0000 3ms4360kbC++205.9kb2024-02-02 14:44:362024-02-02 14:44:37

Judging History

你现在查看的是最新测评结果

  • [2024-02-02 14:44:37]
  • 评测
  • 测评结果:0
  • 用时:3ms
  • 内存:4360kb
  • [2024-02-02 14:44:36]
  • 提交

answer

/*
#pragma GCC optimize("Ofast,unroll-loops")
#pragma GCC target("avx2,fma,bmi,bmi2,sse4.2,popcnt,lzcnt")
*/

#include <bits/stdc++.h>
#define taskname ""
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define i64 long long
#define pb push_back
#define ff first
#define ss second
#define isz(x) (int)x.size()
using namespace std;

const int mxN = 2e5 + 5;
const int mod = 1e9 + 7;
const i64 oo = 1e18;

// https://i11www.iti.kit.edu/extra/publications/sw-fclt-05_t.pdf
// O(n + m * sqrt(m)) process() calls for graphs without loop or multiedges
void find_3_cycles(int n, const vector<array<int, 2>> &edge, auto process){
    int m = (int)edge.size();
    vector<int> deg(n), order, pos(n);
    vector<vector<int>> appear(m + 1), adj(n), found(n);
    for(auto [u, v]: edge) ++ deg[u], ++ deg[v];
    for(auto u = 0; u < n; ++ u) appear[deg[u]].push_back(u);
    for(auto d = m; d >= 0; -- d) order.insert(order.end(), appear[d].begin(), appear[d].end());
    for(auto i = 0; i < n; ++ i) pos[order[i]] = i;
    for(auto i = 0; i < m; ++ i){
        int u = pos[edge[i][0]], v = pos[edge[i][1]];
        adj[u].push_back(v), adj[v].push_back(u);
    }
    for(auto u = 0; u < n; ++ u) for(auto v: adj[u]) if(u < v){
        for(auto i = 0, j = 0; i < (int)found[u].size() && j < (int)found[v].size(); ){
            if(found[u][i] == found[v][j]){
                process(order[u], order[v], order[found[u][i]]);
                ++ i, ++ j;
            }
            else if(found[u][i] < found[v][j]) ++ i;
            else ++ j;
        }
        found[v].push_back(u);
    }
}

template<bool Enable_small_to_large = true>
struct disjoint_set{
    int n, _classes;
    vector<int> p;
    disjoint_set(int n): n(n), _classes(n), p(n, -1){ }
    int make_set(){
        p.push_back(-1);
        ++ _classes;
        return n ++;
    }
    int classes() const{
        return _classes;
    }
    int root(int u){
        return p[u] < 0 ? u : p[u] = root(p[u]);
    }
    bool share(int a, int b){
        return root(a) == root(b);
    }
    int size(int u){
        return -p[root(u)];
    }
    bool merge(int u, int v){
        u = root(u), v = root(v);
        if(u == v) return false;
        -- _classes;
        if constexpr(Enable_small_to_large) if(p[u] > p[v]) swap(u, v);
        p[u] += p[v], p[v] = u;
        return true;
    }
    bool merge(int u, int v, auto act){
        u = root(u), v = root(v);
        if(u == v) return false;
        -- _classes;
        bool swapped = false;
        if constexpr(Enable_small_to_large) if(p[u] > p[v]) swap(u, v), swapped = true;
        p[u] += p[v], p[v] = u;
        act(u, v, swapped);
        return true;
    }
    void clear(){
        _classes = n;
        fill(p.begin(), p.end(), -1);
    }
    vector<vector<int>> group_up(){
        vector<vector<int>> g(n);
        for(auto i = 0; i < n; ++ i) g[root(i)].push_back(i);
        g.erase(remove_if(g.begin(), g.end(), [&](auto &s){ return s.empty(); }), g.end());
        return g;
    }
};

int n, m;
vector<array<int, 2>> G;
map<int, int> adj[1005];
int indeg[1005], av[1005];

void add_edge(int u, int v) {
    ++indeg[u], ++indeg[v];
    adj[u][v]++, adj[v][u]++;
}

bool check(vector<int> &pos) {
    for (int i = 0; i < isz(pos); ++i) {
        for (int j = i + 1; j < isz(pos); ++j) {
            if (adj[pos[i]].find(pos[j]) == adj[pos[i]].end())
                return true;
        }
    }
    return false;
}

void solve() {
    cin >> n >> m;
    disjoint_set dsu(n);
    iota(av + 1, av + n + 1, 1);
    for (int i = 1; i <= m; ++i) {
        int u, v;
        cin >> u >> v;
        add_edge(u, v);
        // dsu.merge(u, v);
        // G.push_back({u, v});
    }
    sort(av + 1, av + n + 1, [&](int x, int y) {
        return indeg[x] > indeg[y];
    });
    int cnt = 0;
    vector<int> pos;
    vector<pair<int, int>> op;
    for (int i = 1; i <= 6; ++i) if (indeg[av[i]] % 2) {
        pos.emplace_back(av[i]);
    }
    while (isz(pos) > 1 and check(pos)) {
        int woo1 = -1, woo2 = -1;
        for (int i = 0; i < isz(pos); ++i)
            for (int j = i + 1; j < isz(pos); ++j)
                if (adj[pos[i]].find(pos[j]) == adj[pos[i]].end())
                    woo1 = i, woo2 = j;
        add_edge(pos[woo1], pos[woo2]);
        op.emplace_back(pos[woo1], pos[woo2]);
        vector<int> npos;
        for (int i = 0; i < isz(pos); ++i) if (i != woo1 and i != woo2) npos.emplace_back(pos[i]);
        pos = npos;
    }
    for (int idx : pos) {
        for (int j = n; j >= 1; --j) if (adj[idx].find(av[j]) == adj[idx].end()) {
            add_edge(av[j], idx);
            op.emplace_back(av[j], idx);
            break;
        }
    }
    if (isz(op) == 0) {
        cout << "ok" << endl;
        return;
    }
    cout << "mark" << endl << isz(op) << endl;
    for (auto [u, v] : op) cout << u << " " << v << endl;
    // for (int i = 0; i < 10; ++i) cout << indeg[av[i + 1]] << " \n"[i == 9];
    // assert(*max_element(indeg, indeg + n) <= 5);
    // cout << dsu.classes() << endl;
    // find_3_cycles(n, G, process);
}

signed main() {

#ifndef CDuongg
    if(fopen(taskname".inp", "r"))
        assert(freopen(taskname".inp", "r", stdin)), assert(freopen(taskname".out", "w", stdout));
#else
    freopen("bai3.inp", "r", stdin);
    freopen("bai3.out", "w", stdout);
    auto start = chrono::high_resolution_clock::now();
#endif

    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int t = 1; //cin >> t;
    while(t--) solve();

#ifdef CDuongg
   auto end = chrono::high_resolution_clock::now();
   cout << "\n"; for(int i = 1; i <= 100; ++i) cout << '=';
   cout << "\nExecution time: " << chrono::duration_cast<chrono::milliseconds> (end - start).count() << "[ms]" << endl;
   cout << "Check array size pls sir" << endl;
#endif

}

詳細信息

Test #1:

score: 100
Accepted
time: 2ms
memory: 3960kb

input:

1000 3560
603 151
415 20
102 569
895 552
678 734
24 614
689 518
440 223
751 919
223 433
711 551
502 634
706 583
812 501
514 535
780 751
720 530
532 384
888 139
864 791
292 675
171 881
30 592
464 557
280 299
654 650
894 335
250 532
792 10
83 969
118 771
579 300
852 983
243 940
957 939
817 889
911 319...

output:

mark
1
733 310

input:

1000 3561
269 626
295 222
665 959
909 534
682 161
833 706
155 199
841 656
184 286
383 358
259 86
771 817
37 355
174 167
484 763
209 250
693 401
850 500
902 369
521 380
368 418
676 977
920 112
831 175
688 730
692 125
654 102
757 70
962 736
87 733
373 956
600 137
201 783
267 511
790 201
975 583
937 55...

output:

ok

result:

ok all right

Test #2:

score: 100
Accepted
time: 1ms
memory: 3864kb

input:

1000 2000
457 335
160 497
464 992
892 255
853 3
308 301
970 363
541 299
89 418
425 128
626 827
603 854
484 874
755 295
607 483
798 552
356 850
320 357
254 940
675 901
168 525
301 636
520 555
773 910
343 701
889 966
218 529
909 950
71 64
682 284
424 138
721 792
670 544
386 72
654 909
725 235
592 437
...

output:

mark
1
861 727

input:

1000 2001
181 711
426 320
503 386
377 826
97 233
231 792
993 1
403 152
381 532
554 117
541 72
291 182
962 916
765 649
252 673
756 751
529 178
731 827
39 689
541 268
139 620
379 851
727 755
622 628
341 884
813 945
564 74
863 90
99 543
25 858
298 450
411 738
758 705
770 529
414 78
838 977
956 965
50 9...

output:

ok

result:

ok all right

Test #3:

score: 100
Accepted
time: 2ms
memory: 4144kb

input:

1000 5000
449 632
597 26
701 322
249 190
411 770
666 596
989 995
112 861
445 818
544 659
24 680
739 593
344 439
193 932
600 526
574 869
216 918
716 793
259 686
555 993
255 578
659 271
328 524
729 672
39 771
241 866
27 790
417 109
56 403
338 299
387 232
280 306
589 794
833 419
900 802
54 697
539 807
...

output:

mark
3
593 202
566 748
869 539

input:

1000 5003
551 203
786 276
9 219
572 208
802 412
127 428
923 361
479 435
24 121
805 834
605 578
947 106
570 639
365 128
352 917
928 647
128 110
345 860
992 334
13 996
854 986
582 609
933 471
461 754
865 326
1 15
62 839
112 888
373 321
533 744
176 306
461 115
188 344
781 42
274 629
117 462
634 530
376...

output:

ok

result:

ok all right

Test #4:

score: 100
Accepted
time: 1ms
memory: 3920kb

input:

1000 3156
347 398
792 278
754 442
413 757
391 130
636 625
207 437
81 415
47 974
887 779
524 619
379 894
868 594
653 919
29 117
123 867
632 505
648 147
130 420
495 876
637 659
882 348
462 878
282 646
398 525
419 224
926 448
305 934
855 570
396 345
774 918
336 123
502 491
984 783
845 142
790 594
754 4...

output:

mark
1
115 418

input:

1000 3157
540 43
167 499
403 962
814 342
154 900
990 212
366 612
456 962
777 715
539 243
441 28
582 563
810 843
38 856
841 423
811 609
952 757
435 668
64 778
925 392
396 865
503 527
481 64
311 954
315 976
508 855
940 42
161 215
501 285
617 957
869 225
879 919
610 421
127 448
58 923
748 615
671 799
7...

output:

ok

result:

ok all right

Test #5:

score: 100
Accepted
time: 2ms
memory: 4000kb

input:

1000 3433
634 21
789 966
541 959
213 381
366 781
107 649
747 122
336 869
222 648
833 972
929 524
712 524
744 525
568 679
634 163
901 501
56 518
128 587
720 117
208 439
860 85
852 168
934 947
34 858
520 568
408 464
232 432
999 504
71 982
957 372
570 436
281 309
410 405
521 275
554 589
4 707
498 148
5...

output:

mark
2
631 284
214 797

input:

1000 3435
492 925
551 824
774 416
368 808
990 579
754 576
909 853
565 396
741 313
899 730
437 344
649 224
653 593
978 514
856 985
886 603
527 628
105 342
617 476
173 868
544 638
258 511
157 802
713 593
937 474
632 946
130 504
863 565
969 1000
775 157
671 107
19 431
992 91
767 42
41 538
960 922
664 9...

output:

ok

result:

ok all right

Test #6:

score: 100
Accepted
time: 2ms
memory: 4196kb

input:

1000 3057
985 223
432 967
405 822
845 650
893 646
599 718
754 710
333 73
392 355
895 496
200 562
816 36
457 953
9 623
889 662
482 590
249 29
689 694
185 990
285 690
12 323
611 560
903 722
476 86
105 666
441 193
695 640
36 617
840 42
80 527
977 539
606 150
384 585
784 648
919 360
157 532
568 98
995 8...

output:

mark
1
134 394

input:

1000 3058
29 48
203 26
942 210
954 309
294 719
280 107
14 443
241 921
666 607
733 571
432 91
921 572
990 304
552 44
520 921
243 22
4 640
623 947
42 660
877 225
45 146
263 667
509 515
450 626
603 573
971 732
337 771
237 348
652 580
168 116
256 454
75 314
250 947
138 624
995 567
719 835
191 934
578 21...

output:

ok

result:

ok all right

Test #7:

score: 100
Accepted
time: 2ms
memory: 4000kb

input:

1000 3085
484 405
841 443
661 315
392 941
355 558
523 394
773 929
673 840
5 707
255 610
744 58
301 794
505 33
668 533
787 945
747 810
803 115
340 900
791 909
596 418
129 491
460 698
156 233
664 502
231 465
795 486
829 102
608 212
253 344
419 557
100 421
321 793
207 302
544 479
33 916
736 129
6 156
9...

output:

mark
3
305 664
581 888
729 877

input:

1000 3088
821 665
956 248
417 787
734 95
330 953
826 533
888 479
883 619
174 625
554 613
160 480
570 952
158 636
76 223
518 617
743 937
685 728
427 52
568 778
474 293
247 977
332 533
773 219
31 664
108 860
640 186
907 603
436 948
289 874
710 197
831 963
453 369
44 843
772 765
347 200
330 595
268 65
...

output:

ok

result:

ok all right

Test #8:

score: 100
Accepted
time: 2ms
memory: 4056kb

input:

1000 4289
963 66
959 467
930 83
419 699
731 948
702 583
699 245
636 721
859 551
377 251
90 889
286 843
908 47
864 979
223 948
269 684
85 579
162 376
414 255
602 884
65 132
842 907
488 360
553 898
649 249
253 711
675 632
629 446
708 413
819 511
512 113
189 76
242 464
828 261
440 737
643 389
75 907
49...

output:

mark
2
632 783
611 963

input:

1000 4291
332 749
188 54
898 992
302 493
586 861
246 17
154 311
838 229
501 316
209 227
784 338
987 999
510 121
91 866
757 8
994 36
972 83
477 824
924 603
496 756
320 32
453 521
433 628
937 526
18 740
686 723
784 591
510 698
317 920
838 799
447 186
474 789
845 588
71 110
337 257
492 670
388 957
527 ...

output:

ok

result:

ok all right

Test #9:

score: 100
Accepted
time: 2ms
memory: 4136kb

input:

1000 4763
544 167
316 76
78 841
699 1
645 745
827 262
568 545
595 81
924 561
108 253
397 626
142 967
613 397
723 633
711 259
363 249
5 436
165 88
178 463
734 529
195 324
135 41
1000 136
215 967
371 638
588 753
542 909
633 106
537 852
111 232
303 500
892 461
868 300
772 667
40 172
956 575
613 163
933...

output:

mark
3
425 983
214 509
571 148

input:

1000 4766
450 16
910 74
103 774
597 624
185 948
625 965
921 271
347 329
156 57
747 193
936 135
594 591
22 837
259 918
762 516
500 479
444 148
161 857
680 705
58 379
897 116
415 90
917 70
78 971
976 767
429 673
66 526
667 621
847 589
37 148
173 872
965 793
396 746
688 388
214 818
820 306
687 862
93 2...

output:

ok

result:

ok all right

Test #10:

score: 100
Accepted
time: 2ms
memory: 4068kb

input:

1000 4250
747 446
769 425
773 753
217 298
217 4
514 774
752 3
905 857
532 410
224 250
367 33
29 541
809 996
76 960
25 603
532 600
518 304
546 95
735 413
312 476
83 534
157 62
170 836
668 976
244 557
972 860
828 170
975 468
677 714
800 170
530 191
216 930
242 728
318 505
269 162
579 963
769 822
171 4...

output:

mark
1
385 5

input:

1000 4251
112 370
102 703
776 233
835 409
598 303
590 999
320 874
639 193
378 512
447 83
308 365
152 512
219 36
14 309
600 242
8 847
585 656
524 394
600 888
342 188
275 604
326 920
728 164
380 74
892 31
797 986
984 629
148 404
377 353
270 344
578 582
5 848
261 174
398 338
494 140
371 94
146 199
45 2...

output:

ok

result:

ok all right

Test #11:

score: 100
Accepted
time: 2ms
memory: 4188kb

input:

1000 3336
161 745
81 702
879 347
452 553
809 32
359 925
984 783
558 366
611 89
948 530
565 496
123 348
534 986
991 511
322 407
6 878
20 897
188 150
527 440
487 333
218 572
597 575
308 684
50 780
900 451
763 785
210 682
964 992
811 537
537 167
320 133
523 899
629 732
435 281
826 405
868 567
201 858
2...

output:

mark
2
947 565
299 359

input:

1000 3338
374 704
741 505
976 541
161 104
100 863
385 529
392 469
209 763
952 432
154 770
947 997
519 348
757 820
110 294
996 108
256 659
584 93
337 937
518 681
979 589
568 88
913 533
713 222
505 709
608 975
168 502
705 49
421 643
572 758
928 181
300 162
113 469
723 195
934 585
540 513
789 462
434 9...

output:

ok

result:

ok all right

Test #12:

score: 100
Accepted
time: 2ms
memory: 3996kb

input:

1000 3482
910 881
481 989
349 262
963 679
970 752
651 210
86 339
724 310
765 410
118 619
662 351
568 148
292 61
136 385
997 772
210 735
816 310
698 649
581 313
414 280
92 872
965 925
35 930
813 29
617 210
854 940
486 479
412 644
660 623
126 85
664 327
459 165
266 113
108 206
686 660
918 536
173 366
...

output:

mark
1
333 963

input:

1000 3483
732 216
26 72
633 812
543 565
128 60
104 532
597 504
46 473
87 574
575 144
496 698
646 382
613 317
6 890
739 307
680 811
384 394
455 148
487 770
851 666
52 549
160 733
544 682
624 866
877 240
674 630
256 803
812 625
840 631
346 963
959 707
767 843
220 573
594 935
616 825
391 131
744 173
61...

output:

ok

result:

ok all right

Test #13:

score: 100
Accepted
time: 1ms
memory: 3880kb

input:

1000 2141
358 723
692 581
753 295
864 391
984 462
525 271
508 897
739 537
124 933
577 499
863 37
279 622
361 605
454 951
527 837
1 224
641 404
479 220
931 126
182 719
464 451
805 452
529 800
292 689
17 320
728 790
967 41
412 752
276 535
643 636
611 56
802 414
861 603
857 722
1000 584
435 118
266 392...

output:

mark
3
985 607
442 478
609 790

input:

1000 2144
482 327
721 271
324 265
542 340
774 998
33 221
882 886
960 447
898 211
433 35
745 399
692 986
422 376
816 821
561 879
414 613
27 223
38 338
152 849
453 625
98 796
7 425
257 760
824 441
680 49
476 761
585 315
907 925
938 131
30 914
491 113
788 961
489 597
710 34
409 587
623 686
967 308
948 ...

output:

ok

result:

ok all right

Test #14:

score: 100
Accepted
time: 2ms
memory: 3948kb

input:

1000 2950
244 361
694 442
547 577
545 866
488 207
888 997
263 45
850 200
30 927
195 510
274 582
467 158
664 667
880 573
522 986
736 375
206 326
999 940
875 609
151 161
602 673
664 200
827 579
12 190
300 249
95 502
951 317
669 243
350 841
692 572
619 302
955 999
480 891
109 779
198 893
105 442
214 14...

output:

mark
1
651 170

input:

1000 2951
585 749
754 407
910 157
671 238
489 256
818 116
14 867
831 353
663 816
637 496
222 773
204 215
666 180
995 537
256 492
462 578
109 563
583 713
964 992
66 754
931 44
793 916
710 944
43 981
609 3
292 367
578 541
499 59
806 755
239 845
180 476
763 865
22 248
475 990
15 745
209 418
426 11
30 9...

output:

ok

result:

ok all right

Test #15:

score: 100
Accepted
time: 2ms
memory: 3880kb

input:

1000 2725
336 461
575 6
961 482
496 574
134 336
671 452
172 957
633 89
909 334
222 155
90 660
201 950
436 671
726 683
487 356
536 389
107 844
403 732
550 608
607 54
718 438
960 144
710 278
398 747
152 501
86 385
34 251
309 822
773 321
329 213
897 948
356 401
290 329
278 591
683 454
122 523
729 436
4...

output:

mark
1
160 401

input:

1000 2726
826 863
860 669
482 188
461 442
496 849
962 420
832 558
899 680
933 304
876 932
6 579
49 750
506 996
166 759
563 508
331 228
210 471
707 306
89 391
16 349
161 923
496 830
591 108
534 553
220 382
489 624
969 790
385 891
900 848
69 837
478 216
455 579
539 29
37 915
554 860
316 683
143 324
33...

output:

ok

result:

ok all right

Test #16:

score: 100
Accepted
time: 1ms
memory: 4104kb

input:

1000 2812
357 725
462 948
927 875
21 284
52 197
457 876
744 315
990 255
660 522
51 971
392 275
736 77
131 216
581 438
495 271
965 111
376 89
824 363
628 13
33 585
836 144
791 404
916 588
668 243
960 335
505 368
744 264
332 893
65 320
205 81
929 44
135 224
306 351
938 505
70 927
825 634
161 492
434 1...

output:

mark
3
828 972
909 895
643 187

input:

1000 2815
559 677
157 134
295 218
65 463
514 383
94 308
900 81
922 400
176 977
59 798
403 802
873 525
143 629
187 152
804 592
99 405
353 321
597 445
286 171
788 328
153 207
424 703
446 391
83 268
844 146
635 237
740 524
279 608
898 307
312 394
672 353
954 603
224 156
172 296
897 177
214 437
205 736
...

output:

ok

result:

ok all right

Test #17:

score: 100
Accepted
time: 1ms
memory: 4120kb

input:

1000 2616
518 38
164 144
301 140
711 11
36 636
443 779
107 901
467 922
759 675
229 276
467 880
975 435
382 460
238 663
639 927
74 953
777 326
689 944
152 237
501 789
795 889
95 376
390 401
279 64
520 803
273 292
333 454
202 485
860 54
872 641
101 951
236 726
464 847
992 656
576 565
739 176
562 327
2...

output:

mark
1
758 301

input:

1000 2617
903 669
336 738
42 963
55 717
90 323
166 928
895 254
138 853
709 590
223 681
978 55
763 978
465 508
887 251
112 973
947 939
722 700
229 720
792 949
793 266
96 854
600 375
87 491
530 541
461 500
892 139
78 124
959 230
718 623
22 222
313 914
81 851
610 950
321 397
326 697
232 202
137 154
518...

output:

ok

result:

ok all right

Test #18:

score: 100
Accepted
time: 3ms
memory: 4288kb

input:

1000 4792
659 787
666 143
711 116
742 958
604 434
293 882
175 28
557 753
106 808
527 599
942 249
843 109
174 76
429 255
415 489
463 540
878 235
688 87
629 402
927 418
704 734
886 463
702 992
570 370
492 865
795 889
638 594
887 203
732 896
610 492
960 422
44 255
442 448
426 697
862 351
318 277
783 22...

output:

mark
3
35 592
46 588
182 548

input:

1000 4795
72 88
722 243
805 260
50 598
295 877
373 83
715 329
176 340
196 387
956 159
2 871
737 903
500 615
513 232
167 490
533 887
426 406
375 107
492 552
565 754
733 70
357 489
934 43
447 256
420 199
863 879
144 740
952 343
550 612
706 778
30 629
555 349
402 697
98 849
117 838
528 562
486 627
454 ...

output:

ok

result:

ok all right

Test #19:

score: 100
Accepted
time: 2ms
memory: 4256kb

input:

1000 3724
513 194
958 159
936 285
493 34
668 957
824 152
450 421
92 170
416 782
546 100
698 433
299 741
261 975
661 408
4 927
789 856
52 784
541 618
99 780
527 957
618 74
440 321
839 496
360 484
71 21
149 302
25 505
240 587
584 736
490 934
817 867
682 287
882 528
985 852
201 46
254 112
862 582
379 3...

output:

mark
2
824 979
7 377

input:

1000 3726
257 545
712 740
457 204
367 941
782 667
81 818
469 561
177 262
441 657
304 93
514 298
911 503
97 323
239 357
717 651
795 975
480 974
340 32
920 508
683 106
239 216
956 462
6 120
90 140
857 17
938 109
414 946
284 921
858 805
82 635
13 349
966 380
301 968
922 45
175 703
472 495
603 561
479 1...

output:

ok

result:

ok all right

Test #20:

score: 100
Accepted
time: 2ms
memory: 4064kb

input:

1000 4188
106 174
116 750
197 421
387 311
48 148
296 628
755 929
804 267
341 16
263 676
486 178
334 256
639 453
183 206
497 528
911 457
854 258
104 922
931 576
725 214
300 460
149 847
754 657
670 983
525 366
475 667
680 376
676 126
929 766
437 821
646 717
578 151
885 981
394 105
264 225
429 390
502 ...

output:

mark
2
877 158
262 654

input:

1000 4190
124 365
552 777
351 939
750 527
559 920
160 76
525 292
753 349
4 209
95 116
435 788
603 700
789 522
380 280
678 489
882 778
312 223
866 738
970 965
895 279
578 808
931 659
909 193
69 249
426 907
695 105
480 686
540 109
387 580
774 301
679 166
131 3
840 645
388 479
300 367
463 209
747 514
6...

output:

ok

result:

ok all right

Test #21:

score: 100
Accepted
time: 2ms
memory: 3976kb

input:

1000 3236
622 762
548 197
457 126
655 978
275 215
472 112
762 998
649 242
890 339
337 1
169 283
365 486
584 324
988 887
406 500
62 591
512 839
76 251
479 635
485 217
961 204
934 8
621 40
374 227
1 403
644 72
758 370
436 494
174 341
770 80
421 125
151 211
405 389
514 637
808 815
131 762
647 518
804 7...

output:

mark
1
247 642

input:

1000 3237
2 689
823 508
866 79
680 612
749 389
354 305
947 71
785 691
862 736
803 543
500 131
414 568
957 787
285 326
583 860
725 351
879 624
439 775
193 678
321 468
373 369
293 523
53 475
731 101
46 222
547 527
888 328
888 26
95 435
107 81
394 199
69 669
505 827
87 835
943 509
796 105
42 813
185 80...

output:

ok

result:

ok all right

Test #22:

score: 100
Accepted
time: 2ms
memory: 3924kb

input:

1000 3299
693 455
906 758
704 271
639 392
910 445
984 43
821 447
3 475
929 500
879 29
243 657
602 744
974 96
879 79
225 9
868 993
115 636
701 248
995 83
781 441
995 320
766 534
432 827
65 632
873 392
231 943
502 170
856 584
368 665
391 797
734 568
538 613
539 984
505 285
965 253
446 107
605 681
216 ...

output:

mark
1
873 300

input:

1000 3300
938 126
741 12
701 985
569 78
178 433
484 395
427 549
290 451
575 856
548 508
707 311
148 530
17 91
199 951
318 390
319 381
131 633
51 932
118 628
382 567
994 445
136 674
735 333
294 209
938 759
242 352
452 987
550 993
819 177
358 391
308 650
407 1
69 655
961 185
157 845
260 691
263 603
81...

output:

ok

result:

ok all right

Test #23:

score: 100
Accepted
time: 2ms
memory: 4224kb

input:

1000 3482
45 265
363 58
385 372
365 256
659 227
700 636
954 356
708 312
24 144
103 367
797 394
779 615
596 57
546 439
622 318
344 724
27 792
286 475
286 469
581 321
191 79
457 80
357 577
559 587
63 234
982 665
838 402
931 320
724 796
645 275
254 812
283 710
75 269
991 914
888 557
214 416
316 465
197...

output:

mark
1
809 361

input:

1000 3483
427 186
612 121
891 660
737 947
656 968
491 936
679 693
201 864
605 873
866 71
140 559
971 200
17 266
552 719
670 8
873 585
815 750
272 334
468 589
432 198
615 811
809 919
299 929
912 407
968 428
513 630
333 726
953 889
237 146
443 682
913 342
104 230
560 898
775 97
616 329
460 573
376 791...

output:

ok

result:

ok all right

Test #24:

score: 100
Accepted
time: 2ms
memory: 3900kb

input:

1000 2311
97 580
515 270
609 837
243 284
715 189
980 486
853 479
235 7
253 300
207 583
282 612
456 80
486 497
503 404
74 701
64 172
583 794
570 655
901 25
14 568
485 218
621 50
253 26
433 784
533 215
134 695
278 364
879 983
690 952
198 197
725 421
95 464
927 999
104 71
752 252
553 356
187 952
38 859...

output:

mark
1
690 7

input:

1000 2312
855 277
709 462
981 153
103 15
645 470
344 569
903 148
672 805
161 180
625 109
460 469
645 307
7 942
599 803
286 930
116 715
933 791
146 645
235 494
6 638
924 376
483 369
871 922
609 139
39 957
100 881
648 610
377 885
990 343
226 825
185 725
373 47
855 352
97 654
440 205
690 810
642 12
612...

output:

ok

result:

ok all right

Test #25:

score: 100
Accepted
time: 2ms
memory: 4236kb

input:

1000 3896
460 688
426 709
610 203
65 902
606 471
519 789
275 370
86 879
786 822
601 948
312 884
115 372
100 491
967 601
104 750
411 830
571 626
201 132
175 126
678 756
610 712
267 770
853 475
406 479
485 471
479 953
156 968
785 918
61 114
348 147
659 495
709 716
248 599
984 20
728 726
859 759
681 10...

output:

mark
2
65 814
600 224

input:

1000 3898
623 306
528 861
202 509
229 367
894 883
586 654
186 242
481 622
557 336
976 697
72 256
656 120
944 98
571 428
487 641
220 862
824 715
192 114
497 54
70 311
854 109
626 780
978 86
573 185
756 614
774 505
171 251
982 757
497 1
660 994
347 36
589 1
573 756
224 317
957 511
7 42
171 168
888 696...

output:

ok

result:

ok all right

Test #26:

score: 100
Accepted
time: 2ms
memory: 4044kb

input:

1000 3891
701 522
952 922
356 456
249 391
128 593
9 524
661 405
984 460
440 470
639 699
782 189
537 74
184 399
888 710
975 120
475 924
602 492
200 577
978 478
611 758
886 262
404 313
44 559
170 35
749 501
848 364
6 401
723 549
110 186
281 506
52 379
84 255
755 196
824 136
985 230
523 682
826 823
560...

output:

mark
1
690 451

input:

1000 3892
166 892
271 524
179 602
863 512
691 720
151 418
393 11
74 597
783 686
59 590
907 210
52 995
144 676
482 271
885 203
696 592
843 72
447 366
829 808
138 630
892 897
784 324
205 927
520 69
153 48
919 7
994 76
714 369
21 677
613 230
579 229
326 167
783 513
869 959
51 81
429 269
963 488
15 813
...

output:

ok

result:

ok all right

Test #27:

score: 100
Accepted
time: 2ms
memory: 3996kb

input:

1000 3265
924 167
3 999
663 583
890 496
619 193
641 842
720 966
650 470
975 552
309 965
968 739
223 474
41 188
279 73
663 940
438 173
385 280
113 178
896 270
15 956
456 196
291 323
392 622
180 781
469 950
685 672
633 436
562 153
407 796
209 630
750 874
190 614
400 306
560 935
235 777
500 785
378 332...

output:

mark
1
593 890

input:

1000 3266
249 519
458 457
540 32
240 766
492 761
117 462
202 629
879 615
827 985
699 178
724 250
818 648
213 576
679 970
810 452
923 61
82 506
775 543
606 295
597 130
185 663
281 849
523 181
135 784
646 320
459 153
940 472
749 19
59 174
856 125
936 889
729 275
853 433
84 733
190 20
531 648
916 291
4...

output:

ok

result:

ok all right

Test #28:

score: 100
Accepted
time: 2ms
memory: 4292kb

input:

1000 4070
7 484
881 280
807 812
167 913
190 699
784 415
747 45
424 328
414 997
461 463
499 437
173 675
71 525
195 736
428 593
560 602
235 557
91 265
580 422
522 212
50 326
784 938
787 256
963 883
896 902
228 953
997 406
724 753
202 646
93 118
187 777
841 254
573 651
198 821
89 615
124 443
622 120
58...

output:

mark
2
615 474
268 87

input:

1000 4072
370 139
188 415
372 852
788 793
945 841
145 964
33 131
250 810
410 234
106 136
702 46
594 861
934 406
972 967
951 669
868 713
722 81
619 522
598 759
509 796
687 279
905 218
196 536
839 223
502 324
978 610
701 635
816 708
865 594
151 808
985 787
470 624
647 42
907 618
712 958
580 999
418 62...

output:

ok

result:

ok all right

Test #29:

score: 100
Accepted
time: 2ms
memory: 4168kb

input:

1000 3135
679 441
832 386
95 753
472 452
550 725
334 216
547 305
556 805
250 217
546 555
109 827
884 984
297 80
660 821
807 403
301 250
489 275
256 342
841 435
290 873
771 188
76 424
261 377
793 458
945 925
593 432
527 275
971 222
646 49
284 713
3 37
313 181
314 122
257 969
765 89
759 537
273 857
38...

output:

mark
3
569 857
356 348
473 412

input:

1000 3138
853 905
930 978
599 172
751 672
290 682
417 18
349 839
845 328
546 996
821 864
531 931
596 247
445 58
326 396
245 651
994 672
129 922
540 352
229 502
777 608
571 489
762 234
762 310
463 959
708 610
114 333
692 710
414 891
805 646
461 590
140 246
947 227
689 589
185 650
76 803
297 204
802 1...

output:

ok

result:

ok all right

Test #30:

score: 100
Accepted
time: 2ms
memory: 4236kb

input:

1000 4200
448 409
48 552
204 139
701 128
189 761
181 385
118 653
471 26
968 195
976 473
19 907
837 969
942 346
489 372
710 765
648 339
527 477
990 60
125 276
56 249
110 276
864 906
796 39
940 90
91 628
37 667
25 886
550 150
657 438
553 447
682 141
77 926
647 290
139 792
167 696
965 705
898 787
644 6...

output:

mark
1
211 965

input:

1000 4201
968 760
481 311
737 157
459 517
444 654
5 31
742 400
704 149
684 109
445 81
203 188
635 609
494 745
15 377
363 510
95 432
787 720
17 219
506 389
623 645
166 745
703 771
411 534
689 451
577 838
390 31
935 967
974 802
654 788
1 605
910 38
438 62
195 25
585 513
356 892
660 750
391 77
792 718
...

output:

ok

result:

ok all right

Test #31:

score: 100
Accepted
time: 2ms
memory: 4156kb

input:

1000 2992
768 684
51 962
667 28
959 894
941 636
131 80
869 468
666 543
262 235
241 428
893 839
546 428
445 949
262 763
896 402
205 644
192 650
177 921
29 488
758 527
657 817
447 872
708 323
759 927
146 982
654 973
787 923
132 163
219 813
822 144
515 188
327 452
542 32
455 122
610 461
203 303
27 766
...

output:

mark
1
674 426

input:

1000 2993
616 170
73 730
965 129
122 687
290 656
912 801
626 765
386 934
458 328
176 924
709 629
69 158
122 468
313 124
268 742
568 605
309 435
940 583
568 212
560 970
11 89
638 643
576 721
791 136
103 665
562 691
479 799
106 871
41 131
188 367
126 410
974 331
179 615
49 274
765 648
839 360
776 768
...

output:

ok

result:

ok all right

Test #32:

score: 100
Accepted
time: 2ms
memory: 4244kb

input:

1000 3891
9 226
167 799
23 992
910 468
750 904
219 238
571 266
968 429
700 878
3 169
108 842
736 273
789 322
446 694
869 533
491 744
526 730
190 941
610 146
853 939
824 574
399 326
116 328
687 960
68 460
222 735
64 875
462 627
955 990
5 890
393 852
651 134
683 374
99 609
854 927
357 84
81 455
963 69...

output:

mark
2
79 546
775 595

input:

1000 3893
308 141
644 809
737 856
914 549
890 780
648 567
807 332
445 492
976 625
39 523
680 819
806 937
168 999
916 543
625 278
469 566
592 244
961 52
673 374
203 910
454 950
946 395
248 793
988 284
197 48
909 432
216 281
868 330
21 320
969 470
622 17
231 143
932 896
836 536
861 839
636 424
364 621...

output:

ok

result:

ok all right

Test #33:

score: 100
Accepted
time: 2ms
memory: 4360kb

input:

1000 4839
721 823
946 252
516 492
460 116
126 30
65 344
134 175
802 407
634 405
799 22
808 599
433 519
711 519
30 52
457 114
41 136
668 659
743 511
155 962
436 847
671 472
549 352
688 699
167 943
467 460
292 150
801 507
559 497
890 264
565 630
672 272
15 90
869 979
853 947
119 690
501 832
285 936
34...

output:

mark
1
529 748

input:

1000 4840
448 978
280 878
531 94
837 305
550 50
410 820
38 154
377 614
24 758
631 724
304 922
925 829
667 957
426 602
948 973
23 935
570 626
173 911
728 105
704 582
43 373
442 488
400 474
16 108
242 336
244 370
207 331
559 938
508 634
467 799
908 953
692 928
749 269
240 32
656 733
507 862
266 583
69...

output:

ok

result:

ok all right

Test #34:

score: 100
Accepted
time: 1ms
memory: 4088kb

input:

1000 2034
672 408
42 15
81 165
720 365
17 795
12 752
996 718
504 262
723 214
405 139
860 837
659 586
873 356
313 426
115 550
620 942
287 815
539 518
574 531
642 428
696 628
532 548
164 371
382 434
397 223
880 826
667 805
851 587
387 528
731 649
88 252
738 790
871 539
763 587
116 818
394 292
267 380
...

output:

mark
1
540 795

input:

1000 2035
368 986
957 610
293 612
25 302
433 386
103 583
115 529
955 894
842 902
114 526
484 711
26 852
949 185
249 774
244 468
998 626
66 317
670 959
431 416
101 662
484 964
858 202
632 179
669 446
106 412
421 108
443 68
908 301
892 774
691 25
756 935
365 817
79 177
146 991
544 368
40 110
687 494
6...

output:

ok

result:

ok all right

Test #35:

score: 100
Accepted
time: 1ms
memory: 4096kb

input:

1000 2063
152 651
423 569
82 188
469 837
791 178
513 272
388 461
658 688
805 167
400 258
947 616
803 244
645 636
14 715
355 166
504 598
366 78
611 886
284 952
429 434
138 349
423 520
910 760
263 499
282 106
62 525
765 673
425 636
767 432
378 368
406 797
777 46
728 638
337 259
720 551
32 418
893 567
...

output:

mark
2
335 822
600 355

input:

1000 2065
482 956
738 242
538 623
211 734
780 392
353 621
365 217
897 316
626 116
969 274
557 776
999 413
388 966
704 110
256 193
590 961
878 920
483 531
811 39
642 996
770 10
812 44
914 916
130 14
24 33
701 454
180 647
390 928
677 946
462 209
733 373
783 948
405 939
805 612
828 257
687 272
698 639
...

output:

ok

result:

ok all right

Test #36:

score: 100
Accepted
time: 1ms
memory: 3808kb

input:

1000 2015
735 560
841 818
908 373
452 621
415 440
682 740
879 685
769 787
78 247
709 376
529 131
838 689
352 699
233 54
420 43
675 580
893 682
570 960
886 186
627 685
824 527
285 801
381 190
545 638
803 864
673 545
675 471
539 857
97 929
72 835
176 54
336 134
674 134
214 557
720 131
480 947
842 993
...

output:

mark
1
902 609

input:

1000 2016
378 481
360 856
86 55
802 731
420 391
701 297
105 610
281 201
767 246
420 826
572 169
364 586
31 169
880 838
656 260
684 880
947 372
892 252
839 826
865 336
82 69
619 727
189 427
87 866
627 989
132 44
481 60
952 592
100 371
28 336
755 533
119 776
112 573
472 25
611 786
677 666
440 481
596 ...

output:

ok

result:

ok all right

Test #37:

score: 100
Accepted
time: 1ms
memory: 4104kb

input:

1000 2088
740 777
753 465
620 85
563 425
462 640
660 818
506 223
161 680
212 736
832 801
881 351
708 787
743 371
325 128
840 456
832 721
671 768
711 676
967 36
297 541
201 236
348 983
794 78
832 912
840 569
671 857
357 781
263 615
505 283
760 980
279 519
225 480
387 569
407 877
132 284
863 892
600 9...

output:

mark
1
837 256

input:

1000 2089
844 675
171 431
209 992
619 393
773 525
382 871
973 220
253 593
728 868
653 990
120 49
308 647
580 613
266 401
614 514
314 139
780 410
553 776
747 674
654 930
295 490
613 312
971 584
917 528
270 701
337 387
215 166
550 731
716 672
600 998
94 68
354 745
980 307
342 961
962 774
874 707
770 8...

output:

ok

result:

ok all right

Test #38:

score: 0
Wrong Answer on the first run

input:

1000 2095
820 62
50 81
933 467
775 61
743 331
914 662
41 547
91 695
965 431
215 837
251 67
840 532
289 599
112 235
939 390
316 769
806 938
477 138
916 693
337 373
776 82
795 276
390 706
679 304
951 493
51 821
702 85
6 852
586 638
125 198
298 989
235 203
294 967
785 338
923 718
907 138
534 232
735 70...

output:

ok

input:


output:


result:

wrong answer Token "ok" doesn't correspond to pattern "mark"