QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#319347#4829. Mark on a Graphduongnc0000 2ms4360kbC++205.9kb2024-02-02 14:45:222024-02-02 14:45:22

Judging History

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

  • [2024-02-02 14:45:22]
  • 评测
  • 测评结果:0
  • 用时:2ms
  • 内存:4360kb
  • [2024-02-02 14:45:22]
  • 提交

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 <= 8; ++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

}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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
2
108 611
733 310

input:

1000 3562
623 554
396 217
231 662
330 865
163 684
50 833
648 137
781 1000
184 217
844 383
831 643
48 355
279 904
167 379
278 494
707 250
451 567
209 500
64 422
253 49
663 368
405 170
292 988
831 639
999 596
125 95
102 440
827 437
882 125
932 719
264 339
721 655
102 790
267 793
201 155
186 576
898 36...

output:

ok

result:

ok all right

Test #2:

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

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: 4308kb

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
4
396 350
593 202
566 748
869 539

input:

1000 5004
258 506
563 742
458 36
208 588
178 845
559 170
361 150
350 788
619 34
977 914
578 699
634 106
213 340
156 570
83 564
647 61
128 762
345 143
821 596
976 995
155 835
60 376
334 471
116 10
467 792
494 48
464 286
956 247
726 21
405 143
612 419
42 981
693 70
407 899
285 697
256 532
649 530
240 ...

output:

ok

result:

ok all right

Test #4:

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

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
2
881 386
115 418

input:

1000 3158
540 769
439 852
901 654
845 121
154 787
213 734
215 143
159 469
266 787
123 439
16 909
438 346
426 843
150 447
841 721
811 101
642 355
125 480
437 578
775 174
865 693
418 309
399 885
287 402
786 474
456 465
441 28
766 866
754 994
290 668
225 18
34 879
394 426
639 127
836 887
748 615
334 74...

output:

ok

result:

ok all right

Test #5:

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

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
3
413 371
631 284
214 797

input:

1000 3436
901 246
554 90
136 682
837 660
902 898
735 811
311 18
376 42
783 207
563 565
521 669
570 257
607 750
514 631
669 217
968 109
409 300
341 848
451 211
40 861
925 307
776 535
263 182
681 31
271 892
578 188
655 139
716 5
131 880
505 114
971 966
544 441
395 188
42 410
628 82
661 344
637 909
163...

output:

ok

result:

ok all right

Test #6:

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

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
2
31 485
134 394

input:

1000 3059
29 48
868 224
13 300
440 290
294 719
506 107
14 443
241 921
842 25
722 560
545 503
921 572
590 27
132 790
42 458
25 364
340 372
193 518
42 660
317 815
977 433
761 633
95 970
450 626
333 585
971 732
337 771
63 271
485 551
239 366
440 279
189 644
115 949
138 624
22 995
495 460
191 934
578 21...

output:

ok

result:

ok all right

Test #7:

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

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: 4076kb

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: 4360kb

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: 4304kb

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: 3992kb

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
3
688 704
947 565
299 359

input:

1000 3339
1000 599
660 343
299 936
161 358
202 191
992 338
525 621
413 164
826 432
770 154
958 394
351 519
438 440
13 58
172 928
599 991
576 685
373 644
213 220
957 810
730 989
499 533
153 420
59 986
693 608
502 808
359 289
179 82
812 370
239 65
30 932
236 674
723 854
766 261
356 736
840 984
434 921...

output:

ok

result:

ok all right

Test #12:

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

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: 3856kb

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: 1ms
memory: 3952kb

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
2
252 154
651 170

input:

1000 2952
589 141
167 955
739 836
759 160
65 799
917 214
244 771
157 270
816 753
788 490
515 316
257 570
945 437
995 298
180 666
526 578
440 379
368 325
468 283
649 351
94 263
789 292
984 761
532 839
746 256
69 464
120 609
296 175
604 329
307 590
933 975
938 246
248 131
841 279
406 574
317 398
260 4...

output:

ok

result:

ok all right

Test #15:

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

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: 0ms
memory: 4176kb

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: 4148kb

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
301 990

input:

1000 2617
962 440
336 738
42 206
724 449
510 323
391 928
895 796
138 853
555 911
223 916
131 55
763 978
492 132
887 251
962 647
947 939
722 681
229 720
216 949
793 266
394 854
600 972
87 491
530 541
461 500
892 139
78 124
959 230
718 623
22 222
780 914
63 341
610 950
321 335
326 697
232 202
137 154
...

output:

ok

result:

ok all right

Test #18:

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

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: 4248kb

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: 3968kb

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: 4216kb

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
2
642 415
437 247

input:

1000 3238
797 806
528 715
234 299
167 268
91 607
239 305
483 502
105 972
407 882
716 543
193 108
65 459
748 25
818 750
583 966
540 761
766 286
705 839
816 418
582 483
325 788
599 451
14 978
269 7
339 712
547 186
542 367
779 742
95 353
966 162
394 330
984 565
392 431
991 835
860 208
963 181
768 112
8...

output:

ok

result:

ok all right

Test #22:

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

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: 4012kb

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
2
696 316
809 361

input:

1000 3484
186 288
136 751
656 288
737 914
968 582
937 936
522 693
394 658
489 87
885 210
107 17
793 493
378 263
170 32
804 638
982 141
126 150
272 1000
652 173
753 791
341 612
574 443
467 249
562 979
66 821
285 365
401 726
402 426
372 73
945 443
347 349
193 687
512 847
957 589
14 999
824 202
971 303...

output:

ok

result:

ok all right

Test #24:

score: 100
Accepted
time: 1ms
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
2
319 546
690 7

input:

1000 2313
560 909
709 462
981 771
103 15
856 803
279 712
26 148
272 251
623 383
651 267
822 19
540 307
611 457
599 803
286 419
116 715
806 319
146 645
653 181
6 638
58 391
635 38
250 771
288 172
46 662
674 878
366 359
919 307
340 180
226 825
185 725
326 394
310 993
97 654
431 282
690 810
953 231
72 ...

output:

ok

result:

ok all right

Test #25:

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

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
3
712 590
65 814
600 224

input:

1000 3899
777 645
989 992
950 856
367 440
862 751
586 654
805 76
622 916
717 708
976 697
127 814
391 707
98 374
268 334
487 641
932 768
715 824
365 80
678 116
92 707
560 544
626 780
957 689
738 774
457 70
411 311
251 78
707 982
637 350
172 975
978 918
822 740
729 508
965 49
977 236
390 443
7 339
696...

output:

ok

result:

ok all right

Test #26:

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

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
451 613

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 741
513 927
520 69
153 48
919 7
994 76
714 369
21 677
613 230
579 229
326 239
783 513
869 959
51 81
429 269
963 488
562 656...

output:

ok

result:

ok all right

Test #27:

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

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
890 888

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
777 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
...

output:

ok

result:

ok all right

Test #28:

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

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: 3972kb

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: 4068kb

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
965 427

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: 3956kb

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
426 334

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
707 435
940 583
568 212
560 970
11 89
638 643
576 721
791 136
103 665
929 691
479 799
308 202
41 131
403 41
126 410
974 331
179 615
49 274
765 648
839 360
776 768
5...

output:

ok

result:

ok all right

Test #32:

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

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
3
113 446
79 546
775 595

input:

1000 3894
716 120
237 524
942 158
904 476
472 974
395 567
554 770
171 466
354 952
856 880
63 655
558 916
676 726
694 274
482 625
511 69
506 483
39 251
188 345
577 723
897 850
451 186
929 684
663 284
951 404
700 54
305 543
913 986
432 509
89 230
554 365
805 281
946 830
449 738
992 204
950 454
364 344...

output:

ok

result:

ok all right

Test #33:

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

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
2
748 691
514 529

input:

1000 4841
800 134
340 606
350 152
340 305
211 441
138 152
81 206
507 445
539 758
88 240
320 922
446 717
960 462
426 602
346 130
916 587
884 555
244 621
113 349
251 600
579 897
204 373
745 71
653 70
453 446
489 591
861 213
223 176
195 282
974 300
222 443
663 422
98 110
965 32
308 422
507 862
13 630
1...

output:

ok

result:

ok all right

Test #34:

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

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
2
476 461
540 795

input:

1000 2036
799 679
394 589
293 291
886 17
918 45
963 138
629 333
62 449
262 902
198 337
441 885
832 480
879 43
535 609
179 92
998 866
369 919
531 797
67 777
101 662
550 327
933 781
987 369
733 238
264 5
851 401
248 2
44 338
467 229
940 577
539 212
365 305
835 794
603 977
422 435
114 357
687 345
691 2...

output:

ok

result:

ok all right

Test #35:

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

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
822 112
355 335

input:

1000 2065
633 351
738 242
538 623
211 734
780 392
353 621
755 217
897 316
626 116
969 274
557 287
999 413
388 737
165 242
256 193
590 961
878 920
483 10
811 39
388 767
770 10
812 44
914 916
740 430
24 33
701 454
38 121
390 928
677 946
462 209
171 995
783 948
405 939
805 612
828 257
687 272
698 639
7...

output:

ok

result:

ok all right

Test #36:

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

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
2
408 22
902 609

input:

1000 2017
993 4
360 856
779 621
710 639
420 391
115 711
290 414
510 384
408 30
420 826
463 886
834 539
31 169
631 297
39 310
847 819
947 372
133 331
542 891
184 651
82 69
782 743
595 673
844 465
166 536
687 110
337 228
855 375
752 799
55 156
169 856
119 776
112 573
702 178
611 786
140 80
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"