QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#319277#4829. Mark on a Graphduongnc0000 2ms4352kbC++205.0kb2024-02-02 12:07:462024-02-02 12:07:47

Judging History

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

  • [2024-02-02 12:07:47]
  • 评测
  • 测评结果:0
  • 用时:2ms
  • 内存:4352kb
  • [2024-02-02 12:07:46]
  • 提交

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]++;
}

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<pair<int, int>> op;
    for (int i = 1; i <= 5; ++i) if (indeg[av[i]] % 2) {
        ++cnt;
        for (int j = n; j >= 6; --j) if (adj[av[i]].find(av[j]) == adj[av[i]].end()) {
            add_edge(av[i], av[j]);
            op.emplace_back(av[i], av[j]);
            break;
        }
    }
    if (cnt == 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: 4156kb

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
733 880
310 880

input:

1000 3562
950 554
396 217
466 376
330 865
163 684
50 833
648 137
781 1000
184 95
358 383
831 175
48 355
279 349
167 174
278 494
582 250
506 567
209 500
326 595
253 49
418 368
964 882
292 403
831 643
999 851
125 553
102 506
827 437
726 125
932 719
641 339
721 948
770 790
267 793
201 155
186 576
898 3...

output:

ok

result:

ok all right

Test #2:

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

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
727 861

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

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
5
869 673
539 673
566 673
748 673
593 673

input:

1000 5005
551 153
501 992
969 219
208 346
802 493
428 127
150 361
435 479
24 121
502 805
699 578
106 119
324 570
128 182
917 352
647 61
128 752
345 143
992 118
13 996
309 188
890 582
471 334
780 461
326 280
455 830
62 839
138 888
321 569
181 533
207 306
5 115
344 363
781 694
629 274
129 462
530 634
...

output:

ok

result:

ok all right

Test #4:

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

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
115 964
418 964

input:

1000 3158
540 43
439 852
789 654
845 121
154 900
213 734
215 38
159 469
266 82
123 439
16 909
417 346
348 843
150 447
841 423
811 101
976 455
125 273
111 263
351 174
761 464
418 309
887 885
287 920
786 474
456 698
441 28
766 329
754 141
435 668
225 869
34 879
841 721
639 127
836 715
884 730
611 741
...

output:

ok

result:

ok all right

Test #5:

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

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
797 214
631 214

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

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 7

input:

1000 3058
29 48
203 26
942 210
954 309
294 719
280 107
14 443
241 921
666 607
952 781
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
848 162
956 242
138 624
613 50
719 835
191 934
578 21...

output:

ok

result:

ok all right

Test #7:

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

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
4
581 729
877 729
888 729
305 729

input:

1000 3089
151 953
956 248
945 220
95 734
105 365
239 616
332 229
29 349
611 937
567 601
160 515
398 570
86 617
572 24
518 617
764 498
728 94
840 36
453 110
194 617
156 145
711 775
508 48
716 321
569 432
452 701
64 766
783 964
277 685
197 710
963 831
710 643
951 787
502 739
157 505
985 371
158 547
67...

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
4
611 231
963 231
632 231
783 231

input:

1000 4293
306 749
54 188
859 296
985 936
586 861
20 246
311 496
229 838
161 316
209 227
1 338
999 987
121 510
135 866
8 448
896 994
959 83
142 824
239 524
756 496
320 310
453 521
433 740
937 526
782 124
686 723
591 319
510 698
317 347
799 838
186 669
284 474
845 588
71 110
93 257
73 670
132 957
834 ...

output:

ok

result:

ok all right

Test #9:

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

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
4
148 571
214 571
509 571
425 571

input:

1000 4767
450 710
910 547
31 648
254 49
504 429
385 806
725 733
612 338
623 978
701 469
427 910
907 145
777 446
898 554
880 141
500 72
35 940
857 96
185 996
440 717
158 70
800 90
301 315
912 94
526 775
558 429
623 346
968 668
156 869
148 432
239 989
398 541
414 757
497 530
541 670
820 497
455 924
64...

output:

ok

result:

ok all right

Test #10:

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

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
5 385

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
299 519
359 519
947 519

input:

1000 3339
95 599
660 343
900 936
161 358
202 1000
992 338
525 621
413 164
952 432
770 154
958 3
351 519
438 440
687 58
172 433
615 991
884 877
373 644
213 220
957 810
730 989
913 533
153 420
633 986
693 608
502 168
359 289
179 82
812 370
843 916
30 932
236 674
723 195
766 261
356 736
840 984
434 921...

output:

ok

result:

ok all right

Test #12:

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

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
2
333 497
963 497

input:

1000 3484
216 73
832 678
508 247
543 328
60 611
89 532
982 504
718 811
609 87
885 504
172 727
570 493
169 414
724 728
976 638
218 421
445 119
455 922
651 700
57 650
960 26
525 346
179 910
522 478
240 942
114 630
262 218
706 408
641 513
148 402
362 937
763 750
446 518
766 896
620 800
939 775
109 269
...

output:

ok

result:

ok all right

Test #13:

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

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
4
790 609
442 609
478 609
985 609

input:

1000 2145
852 396
94 380
324 265
346 821
266 279
464 590
882 886
960 447
540 906
983 604
89 102
472 327
838 114
386 2
350 161
422 376
27 223
38 338
277 760
839 346
851 915
986 89
257 760
72 770
33 68
476 761
589 142
907 925
640 355
30 914
491 113
788 961
625 833
710 72
447 92
595 296
755 308
632 796...

output:

ok

result:

ok all right

Test #14:

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

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 58

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

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
2
160 906
401 906

input:

1000 2727
933 578
748 902
36 416
439 556
496 849
675 420
832 290
305 764
413 418
876 932
227 6
526 542
506 996
166 28
476 389
658 44
210 627
707 306
318 235
444 90
619 594
151 808
777 195
972 269
876 282
190 327
353 213
960 59
938 989
381 665
799 696
761 167
745 204
245 739
568 660
316 683
418 247
1...

output:

ok

result:

ok all right

Test #16:

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

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
5
187 643
909 643
895 643
828 643
972 643

input:

1000 2817
559 677
180 134
770 579
463 470
383 514
308 94
81 900
400 951
176 977
59 392
802 403
873 525
629 143
783 187
573 696
99 405
321 353
597 445
171 286
45 788
153 207
435 703
391 446
268 83
146 670
678 389
524 740
279 666
834 898
312 394
672 353
603 954
156 224
172 296
177 897
437 214
736 205
...

output:

ok

result:

ok all right

Test #17:

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

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 758

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: 2ms
memory: 4100kb

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
4
548 182
46 182
35 182
588 182

input:

1000 4796
67 854
870 182
789 474
464 594
816 641
816 320
586 770
78 374
459 447
956 718
6 413
750 963
809 560
318 640
34 397
910 887
11 198
808 107
490 658
754 565
211 846
769 723
862 420
963 447
331 804
906 608
144 740
157 211
179 683
269 680
196 107
212 821
506 986
849 96
764 911
901 157
408 851
2...

output:

ok

result:

ok all right

Test #19:

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

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
3
377 7
824 7
979 7

input:

1000 3727
846 43
181 522
574 358
253 644
416 387
703 940
745 93
217 470
287 93
280 844
514 298
833 882
355 878
188 673
717 11
108 496
124 592
826 984
418 406
208 123
239 216
322 337
584 990
916 123
783 259
718 460
131 313
752 864
193 749
828 635
664 28
624 820
301 76
259 778
652 223
530 636
788 641
...

output:

ok

result:

ok all right

Test #20:

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

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
3
262 801
654 801
877 801

input:

1000 4191
143 286
825 552
283 874
381 541
305 247
16 791
313 341
807 198
685 92
116 803
756 760
243 247
456 509
632 358
601 841
408 660
620 865
738 92
544 660
763 296
856 451
757 931
77 975
281 923
189 124
43 336
342 747
431 657
387 440
774 518
679 389
131 851
698 316
479 541
299 215
804 385
161 496...

output:

ok

result:

ok all right

Test #21:

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

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

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: 0ms
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
2
873 187
300 187

input:

1000 3301
938 126
741 12
787 652
569 78
627 670
571 512
227 581
290 451
831 844
983 638
707 311
148 530
17 91
808 191
66 908
877 825
839 566
587 770
118 628
368 694
246 506
711 85
735 333
294 209
938 759
581 936
452 987
879 40
819 177
332 72
197 500
156 461
636 774
961 185
84 129
260 691
332 469
813...

output:

ok

result:

ok all right

Test #23:

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

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 932

input:

1000 3483
427 186
612 555
891 660
737 186
764 968
491 936
679 693
201 864
605 873
727 71
119 559
578 928
939 266
552 719
670 8
873 585
815 759
272 334
468 589
432 198
615 811
809 919
299 929
912 407
134 428
513 630
333 726
953 889
237 146
443 682
913 306
104 230
560 955
775 97
616 329
460 573
376 79...

output:

ok

result:

ok all right

Test #24:

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

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 863

input:

1000 2312
855 277
709 462
981 153
103 55
668 470
344 569
903 148
672 805
340 180
625 109
197 289
645 307
7 942
599 803
286 930
116 226
933 698
449 681
235 494
6 638
924 376
483 369
871 922
609 139
39 957
100 881
187 610
377 885
955 343
226 825
531 725
373 47
855 352
97 654
440 205
690 810
727 12
612...

output:

ok

result:

ok all right

Test #25:

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

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
224 600
65 600

input:

1000 3898
623 306
528 861
202 230
229 367
894 883
586 654
186 242
322 180
557 336
976 697
72 47
656 120
938 98
811 313
487 815
220 245
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
36 994
347 36
589 1
573 756
224 317
957 689
7 42
171 168
163 696
1...

output:

ok

result:

ok all right

Test #26:

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

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 690

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

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 593

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

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
87 268
615 268

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

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
5
412 473
356 473
348 473
569 473
857 473

input:

1000 3140
511 853
930 978
390 172
865 672
290 682
692 193
839 621
845 328
900 546
174 385
600 531
247 792
617 864
396 326
846 651
672 688
129 922
683 105
611 335
840 16
19 489
782 234
232 310
959 463
361 769
780 114
254 710
310 407
805 730
364 461
246 70
764 730
348 894
432 185
836 803
204 297
802 4...

output:

ok

result:

ok all right

Test #30:

score: 0
Wrong Answer on the first run

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:

ok

input:


output:


result:

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