QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#368577#4635. Graph Operationhos_lyricAC ✓87ms11508kbC++143.9kb2024-03-27 13:20:032024-03-27 13:20:04

Judging History

This is the latest submission verdict.

  • [2024-03-27 13:20:04]
  • Judged
  • Verdict: AC
  • Time: 87ms
  • Memory: 11508kb
  • [2024-03-27 13:20:03]
  • Submitted

answer

#include <cassert>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <sstream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>

using namespace std;

using Int = long long;

template <class T1, class T2> ostream &operator<<(ostream &os, const pair<T1, T2> &a) { return os << "(" << a.first << ", " << a.second << ")"; };
template <class T> ostream &operator<<(ostream &os, const vector<T> &as) { const int sz = as.size(); os << "["; for (int i = 0; i < sz; ++i) { if (i >= 256) { os << ", ..."; break; } if (i > 0) { os << ", "; } os << as[i]; } return os << "]"; }
template <class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cerr << *i << " "; cerr << endl; }
template <class T> bool chmin(T &t, const T &f) { if (t > f) { t = f; return true; } return false; }
template <class T> bool chmax(T &t, const T &f) { if (t < f) { t = f; return true; } return false; }
#define COLOR(s) ("\x1b[" s "m")


constexpr int MAX = 1010;

int N, M;
vector<int> A[2], B[2];

bitset<MAX> adj[2][MAX];

vector<pair<pair<int, int>, pair<int, int>>> ops[2];
void ae(int h, int a, int b) {
  adj[h][a].set(b);
  adj[h][b].set(a);
}
void re(int h, int a, int b) {
  adj[h][a].reset(b);
  adj[h][b].reset(a);
}
void oper(int h, int a, int b, int c, int d) {
  assert(adj[h][a][b]);
  assert(adj[h][c][d]);
  assert(!adj[h][a][c]);
  assert(!adj[h][b][d]);
  re(h, a, b);
  re(h, c, d);
  ae(h, a, c);
  ae(h, b, d);
  ops[h].emplace_back(make_pair(a, b), make_pair(c, d));
}

int main() {
  for (; ~scanf("%d%d", &N, &M); ) {
    for (int h = 0; h < 2; ++h) {
      A[h].resize(M);
      B[h].resize(M);
      for (int i = 0; i < M; ++i) {
        scanf("%d%d", &A[h][i], &B[h][i]);
        --A[h][i];
        --B[h][i];
      }
    }
    
    vector<int> deg[2];
    for (int h = 0; h < 2; ++h) {
      deg[h].assign(N, 0);
      for (int i = 0; i < M; ++i) {
        ++deg[h][A[h][i]];
        ++deg[h][B[h][i]];
      }
    }
    if (deg[0] == deg[1]) {
      for (int h = 0; h < 2; ++h) {
        for (int u = 0; u < N; ++u) adj[h][u].reset();
        for (int i = 0; i < M; ++i) {
          ae(h, A[h][i], B[h][i]);
        }
      }
      for (int u = N; --u >= 0; ) {
        vector<int> vss[2];
        for (int v = 0; v < u; ++v) {
          if (adj[0][u][v] && !adj[1][u][v]) vss[0].push_back(v);
          if (!adj[0][u][v] && adj[1][u][v]) vss[1].push_back(v);
        }
        assert(vss[0].size() == vss[1].size());
        for (int j = 0; j < (int)vss[0].size(); ++j) {
          const int v0 = vss[0][j];
          const int v1 = vss[1][j];
          {
            const auto tmp = ~adj[0][v0] & adj[0][v1];
            int w = tmp._Find_first();
            if (w == v0) w = tmp._Find_next(w);
            if (w < u) {
              oper(0, u, v0, v1, w);
              continue;
            }
          }
          {
            const auto tmp = adj[1][v0] & ~adj[1][v1];
            int w = tmp._Find_first();
            if (w == v1) w = tmp._Find_next(w);
            if (w < u) {
              oper(1, u, v1, v0, w);
              continue;
            }
          }
          assert(false);
        }
      }
      reverse(ops[1].begin(), ops[1].end());
      printf("%d\n", (int)ops[0].size() + (int)ops[1].size());
      for (const auto &op : ops[0]) printf("%d %d %d %d\n", op.first.first + 1, op.first.second + 1, op.second.first + 1, op.second.second + 1);
      for (const auto &op : ops[1]) printf("%d %d %d %d\n", op.first.first + 1, op.second.first + 1, op.first.second + 1, op.second.second + 1);
    } else {
      puts("-1");
    }
  }
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3800kb

input:

4 2
1 2
3 4
1 3
2 4

output:

1
4 3 2 1

result:

ok n=4

Test #2:

score: 0
Accepted
time: 0ms
memory: 3804kb

input:

6 12
1 2
3 5
4 6
1 4
1 5
1 6
2 3
2 5
2 6
3 4
3 6
4 5
1 3
2 4
5 6
1 4
1 5
1 6
2 3
2 5
2 6
3 4
3 6
4 5

output:

2
6 4 5 2
5 3 2 1

result:

ok n=6

Test #3:

score: 0
Accepted
time: 0ms
memory: 3832kb

input:

4 0

output:

0

result:

ok n=4

Test #4:

score: 0
Accepted
time: 0ms
memory: 3756kb

input:

10 0

output:

0

result:

ok n=10

Test #5:

score: 0
Accepted
time: 0ms
memory: 4096kb

input:

100 0

output:

0

result:

ok n=100

Test #6:

score: 0
Accepted
time: 1ms
memory: 4292kb

input:

1000 0

output:

0

result:

ok n=1000

Test #7:

score: 0
Accepted
time: 1ms
memory: 3752kb

input:

4 6
4 1
1 2
1 3
4 3
3 2
4 2
4 1
4 2
4 3
3 2
1 3
1 2

output:

0

result:

ok n=4

Test #8:

score: 0
Accepted
time: 0ms
memory: 4084kb

input:

10 45
7 5
6 1
3 8
9 7
8 1
2 1
7 1
10 9
4 5
6 5
8 6
3 1
5 1
3 6
4 9
6 9
9 1
10 6
4 6
10 2
4 7
4 8
2 5
10 5
3 4
3 7
10 8
8 2
3 10
4 1
4 2
2 9
2 7
8 7
10 1
8 5
6 7
2 6
10 7
9 5
3 9
3 5
8 9
3 2
4 10
3 5
4 6
9 5
7 5
2 9
6 5
4 5
4 1
3 10
8 9
8 6
10 7
3 9
8 2
9 7
8 7
10 8
10 1
2 7
3 6
2 6
3 2
4 2
2 5
10 9
...

output:

0

result:

ok n=10

Test #9:

score: 0
Accepted
time: 0ms
memory: 3900kb

input:

100 4950
15 37
36 56
57 64
66 63
35 70
8 65
25 36
1 27
6 74
79 22
35 34
79 70
53 74
41 63
7 40
41 22
99 93
96 70
35 30
20 67
48 65
100 21
8 4
75 87
80 10
82 38
7 10
85 77
42 77
28 64
73 60
20 74
73 86
24 31
73 44
97 93
8 74
48 19
63 42
41 57
25 79
13 19
96 39
59 44
81 20
66 2
8 37
34 23
88 27
12 14
...

output:

0

result:

ok n=100

Test #10:

score: 0
Accepted
time: 81ms
memory: 11348kb

input:

1000 499500
90 844
735 814
874 452
191 64
745 192
489 653
998 227
104 125
296 644
285 190
831 763
70 776
981 126
213 964
306 137
199 965
849 5
717 70
329 305
196 836
909 527
222 367
323 554
384 900
496 797
620 860
18 823
929 135
589 207
947 354
461 271
22 914
456 403
263 362
908 870
30 384
995 996
3...

output:

0

result:

ok n=1000

Test #11:

score: 0
Accepted
time: 77ms
memory: 11460kb

input:

1000 499500
561 780
496 694
698 721
598 412
55 527
799 952
790 473
980 139
375 308
605 850
670 77
77 908
958 436
379 504
293 452
735 666
223 901
944 455
554 123
644 817
723 68
157 867
527 755
380 937
904 851
614 666
299 131
369 83
61 651
820 239
432 583
588 869
500 542
502 996
305 43
601 882
277 337...

output:

0

result:

ok n=1000

Test #12:

score: 0
Accepted
time: 0ms
memory: 4008kb

input:

4 6
4 3
1 3
2 3
4 2
4 1
2 1
2 3
4 1
4 2
4 3
2 1
1 3

output:

0

result:

ok n=4

Test #13:

score: 0
Accepted
time: 0ms
memory: 3796kb

input:

4 5
2 4
4 1
4 3
2 1
3 1
2 4
2 1
4 3
4 1
3 1

output:

0

result:

ok n=4

Test #14:

score: 0
Accepted
time: 0ms
memory: 3956kb

input:

10 21
2 10
8 4
4 9
10 4
6 10
8 9
3 5
7 9
10 5
2 1
2 8
3 10
6 1
10 7
6 7
4 1
3 4
5 1
8 1
2 5
5 7
3 4
3 9
5 8
2 4
2 5
3 1
10 1
3 5
6 1
6 2
3 6
6 8
3 10
2 9
2 8
3 7
6 7
5 7
2 10
5 4
10 5

output:

-1

result:

ok n=10

Test #15:

score: 0
Accepted
time: 1ms
memory: 3660kb

input:

10 3
2 8
2 10
2 9
2 5
2 6
2 7

output:

-1

result:

ok n=10

Test #16:

score: 0
Accepted
time: 0ms
memory: 3584kb

input:

10 33
2 4
2 6
8 1
5 1
7 1
6 1
6 10
3 6
8 2
3 4
5 10
8 9
7 10
2 10
4 1
3 8
4 10
1 9
4 9
8 10
6 4
2 7
1 10
10 9
2 9
2 1
8 4
6 7
4 7
7 9
5 9
6 9
5 6
4 10
1 9
5 2
6 4
2 1
5 7
7 10
2 7
5 10
8 9
6 9
10 9
7 1
3 6
4 1
2 10
7 9
8 2
2 9
3 2
2 4
6 7
1 10
5 8
4 7
3 9
6 10
3 10
8 10
8 4
6 1
8 6
4 9

output:

-1

result:

ok n=10

Test #17:

score: 0
Accepted
time: 1ms
memory: 3668kb

input:

100 149
97 53
14 62
97 60
14 58
85 69
14 63
97 99
14 71
97 88
85 47
14 61
14 43
97 44
97 17
14 39
85 17
20 99
97 73
85 31
85 67
85 12
14 24
14 69
14 96
97 76
97 95
97 11
85 79
85 19
85 70
85 6
14 56
14 12
85 98
85 53
85 76
85 26
20 37
97 35
97 70
20 96
97 82
97 34
85 94
14 46
97 54
97 43
97 4
85 2
8...

output:

-1

result:

ok n=100

Test #18:

score: 0
Accepted
time: 1ms
memory: 3804kb

input:

100 4631
2 12
66 70
81 62
5 66
94 2
92 64
62 96
58 39
34 3
21 96
52 15
23 67
62 29
38 18
72 56
67 50
81 70
38 42
81 68
99 22
61 42
30 71
32 93
46 95
27 72
97 37
27 2
46 73
65 2
94 22
33 11
64 73
44 5
48 13
65 16
24 44
61 15
34 71
40 1
60 87
100 66
84 33
81 7
14 69
57 83
63 79
23 96
34 15
72 41
47 12...

output:

-1

result:

ok n=100

Test #19:

score: 0
Accepted
time: 43ms
memory: 7404kb

input:

1000 261943
229 141
480 681
189 131
575 202
700 642
405 254
845 739
920 506
838 6
366 32
886 326
124 749
375 702
426 316
843 800
736 845
752 171
744 236
169 313
612 804
675 808
230 804
454 695
617 445
606 481
766 254
140 421
483 155
775 115
617 583
710 417
936 649
329 53
526 979
833 382
464 327
475 ...

output:

-1

result:

ok n=1000

Test #20:

score: 0
Accepted
time: 9ms
memory: 3856kb

input:

1000 48821
306 916
554 937
602 467
778 306
291 993
446 28
561 538
566 718
833 139
857 553
738 128
153 811
350 290
458 146
211 897
158 828
925 574
291 91
530 933
833 387
773 926
554 776
900 41
158 186
877 717
975 113
360 451
375 101
980 364
96 203
492 953
29 280
469 540
153 604
44 911
601 229
469 858...

output:

-1

result:

ok n=1000

Test #21:

score: 0
Accepted
time: 1ms
memory: 3740kb

input:

4 1
4 1
4 1

output:

0

result:

ok n=4

Test #22:

score: 0
Accepted
time: 0ms
memory: 4084kb

input:

6 5
6 3
5 6
2 6
2 3
6 4
6 5
6 4
6 2
2 3
6 3

output:

0

result:

ok n=6

Test #23:

score: 0
Accepted
time: 0ms
memory: 3940kb

input:

6 1
3 1
1 2

output:

-1

result:

ok n=6

Test #24:

score: 0
Accepted
time: 0ms
memory: 3784kb

input:

10 34
7 2
8 10
10 9
6 1
6 5
2 4
6 4
2 5
7 4
2 3
9 4
1 5
6 3
2 1
3 4
4 5
3 5
8 4
7 6
8 1
6 9
10 5
10 4
7 9
3 9
2 9
3 1
1 4
10 6
8 2
8 7
6 2
9 5
1 9
6 2
4 9
4 2
7 8
2 10
4 10
4 8
4 1
2 1
4 7
6 9
6 1
5 8
4 6
1 3
9 7
6 3
9 10
2 5
4 5
6 8
9 5
5 7
2 3
1 10
2 9
4 3
2 8
3 10
1 5
9 1
6 7
6 5
9 3

output:

5
10 5 1 8
10 6 2 8
10 8 3 1
8 1 2 3
7 2 5 3

result:

ok n=10

Test #25:

score: 0
Accepted
time: 1ms
memory: 3820kb

input:

10 27
10 2
6 4
5 2
5 4
2 7
10 5
1 6
1 9
5 7
3 2
6 9
6 2
8 1
3 7
3 6
8 3
7 9
5 9
5 6
2 9
4 7
6 7
2 4
3 9
10 1
4 9
8 7
6 3
9 4
6 1
2 3
1 10
6 4
2 1
1 8
6 9
3 4
7 5
2 5
5 8
9 8
2 7
6 2
2 9
6 5
7 3
7 10
9 3
9 5
7 4
2 4
6 7
7 9
5 10

output:

3
10 2 7 8
9 1 8 2
8 3 5 4

result:

ok n=10

Test #26:

score: 0
Accepted
time: 0ms
memory: 3720kb

input:

10 12
8 9
8 1
9 3
9 1
9 4
9 5
9 2
9 10
8 7
3 7
9 7
8 6
9 3
7 4
9 8
7 8
9 5
7 3
9 4
7 1
9 1
9 6
9 10
9 7

output:

-1

result:

ok n=10

Test #27:

score: 0
Accepted
time: 0ms
memory: 3772kb

input:

50 952
2 38
10 5
32 33
42 32
40 2
31 33
4 41
47 20
42 13
50 20
1 9
32 41
36 5
11 30
15 23
3 27
17 23
11 25
41 7
31 48
2 9
30 48
35 28
44 36
49 32
45 40
18 45
40 39
47 38
11 39
3 22
6 30
39 46
40 27
15 4
19 13
20 4
21 17
47 7
13 12
44 38
35 15
5 9
44 41
31 14
6 40
50 48
21 49
16 1
44 15
30 5
20 16
41...

output:

132
50 10 15 3
50 36 34 3
50 44 45 11
49 8 15 2
49 35 28 1
49 45 37 1
48 6 8 4
48 15 10 1
48 34 11 2
48 35 28 3
47 8 6 4
47 10 15 1
47 11 26 9
47 18 44 12
46 8 10 3
46 34 18 4
46 35 36 4
45 1 5 37
45 10 7 3
45 15 9 1
45 16 19 10
45 27 20 10
45 29 21 18
45 36 28 4
45 38 30 8
45 40 34 8
45 43 35 10
44...

result:

ok n=50

Test #28:

score: 0
Accepted
time: 1ms
memory: 3660kb

input:

50 409
50 22
17 47
45 41
30 9
12 29
15 13
6 14
6 34
6 15
45 25
7 11
17 20
17 23
35 2
24 8
30 22
35 18
31 44
39 38
31 23
37 23
21 10
21 14
35 1
30 17
35 46
11 10
17 39
21 32
1 18
12 5
49 14
46 41
37 4
7 9
1 46
12 9
7 8
35 23
17 1
37 35
49 47
37 48
46 13
36 10
24 17
46 23
15 29
7 1
11 16
31 4
43 25
31...

output:

-1

result:

ok n=50

Test #29:

score: 0
Accepted
time: 1ms
memory: 3776kb

input:

50 869
45 28
16 42
1 34
34 23
39 19
17 48
8 50
2 21
50 4
36 22
46 27
3 27
11 7
24 13
19 33
20 12
37 16
14 28
3 35
3 41
25 34
39 34
15 49
45 34
5 16
19 42
27 28
47 49
39 49
24 49
5 48
27 49
13 32
25 27
3 46
19 26
47 46
20 41
45 16
13 46
8 17
7 32
20 1
11 2
43 28
2 33
4 2
34 19
28 7
15 41
50 16
20 35
...

output:

157
50 8 13 2
50 9 30 1
50 20 31 3
50 29 38 8
50 48 47 6
49 9 12 5
49 18 30 2
49 36 44 3
48 6 30 3
48 20 38 2
48 26 47 9
47 2 3 6
47 5 11 12
47 10 14 3
47 27 15 6
47 28 17 8
47 29 18 22
47 31 19 2
47 38 24 1
47 39 33 30
47 45 37 6
47 46 43 12
46 6 20 3
46 18 29 6
46 30 40 3
46 38 44 9
45 10 8 4
45 1...

result:

ok n=50

Test #30:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

50 232
5 25
4 11
23 33
44 42
29 10
37 35
8 40
5 45
4 1
8 46
23 13
4 18
4 41
44 25
14 42
19 41
8 10
37 31
4 37
14 45
23 29
24 47
24 36
29 16
24 49
2 46
4 31
29 36
23 39
2 7
29 39
14 27
37 27
8 43
29 32
37 9
4 16
2 22
24 32
29 11
37 26
19 31
44 11
3 17
5 47
2 27
37 12
3 20
19 26
24 9
8 30
3 30
8 34
37...

output:

-1

result:

ok n=50

Test #31:

score: 0
Accepted
time: 1ms
memory: 3904kb

input:

100 3627
14 28
100 63
90 38
28 96
64 4
65 85
46 72
41 44
81 87
27 91
66 5
33 22
21 87
58 20
23 95
93 56
46 62
12 94
39 54
54 42
20 85
28 65
77 40
10 26
72 5
36 18
64 68
17 62
32 72
65 13
36 61
50 20
74 61
77 67
26 63
32 28
22 47
11 86
71 92
58 18
93 46
84 36
92 89
56 47
80 96
94 42
33 31
93 97
20 15...

output:

654
100 3 1 4
100 6 7 9
100 11 16 2
100 18 19 6
100 22 34 6
100 23 36 3
100 24 37 11
100 30 42 6
100 33 43 12
100 39 47 8
100 54 49 1
100 56 50 3
100 72 57 6
100 74 66 8
100 80 85 6
100 83 87 1
100 93 89 3
100 97 90 9
100 98 92 2
99 3 10 7
99 5 24 8
99 12 25 6
99 14 27 8
99 30 29 3
99 31 34 2
99 33 ...

result:

ok n=100

Test #32:

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

input:

100 430
76 11
76 46
72 19
70 83
76 93
28 94
95 6
72 92
72 20
13 61
28 92
15 84
72 70
13 72
89 49
15 79
76 32
90 60
95 97
13 49
76 35
95 66
76 71
90 85
89 48
90 37
90 79
70 10
76 38
95 83
28 17
90 63
70 98
70 29
90 46
95 100
13 84
13 62
15 82
28 30
90 9
70 7
95 30
72 89
70 34
89 80
95 37
89 51
13 5
9...

output:

-1

result:

ok n=100

Test #33:

score: 0
Accepted
time: 0ms
memory: 3896kb

input:

100 4106
52 90
31 51
7 15
5 96
24 27
1 40
37 27
53 71
3 96
6 10
94 92
33 17
38 42
31 2
29 14
68 63
84 10
45 93
31 94
66 68
61 94
45 83
37 45
36 14
67 15
80 56
82 39
36 75
18 15
75 89
91 15
83 25
43 8
93 10
51 56
35 40
22 74
81 52
78 16
33 94
87 23
88 41
69 2
16 63
91 6
22 89
28 6
38 40
39 92
61 70
3...

output:

414
100 26 9 10
100 37 22 4
100 45 28 1
100 54 50 2
100 60 66 5
100 97 86 1
100 99 87 3
99 2 8 9
99 3 12 9
99 15 16 22
99 19 18 22
99 22 20 2
99 30 21 45
99 32 33 21
99 39 35 9
99 46 36 9
99 50 43 2
99 55 44 22
99 62 45 34
99 63 53 9
99 64 54 1
99 73 68 9
99 84 69 21
99 85 75 3
99 88 80 9
99 91 82 2...

result:

ok n=100

Test #34:

score: 0
Accepted
time: 26ms
memory: 5504kb

input:

1000 142543
300 662
256 12
426 265
168 992
660 315
493 762
89 304
856 178
307 193
693 212
707 246
262 1000
914 725
901 109
707 663
116 797
218 918
598 979
437 334
167 825
731 556
673 851
870 516
834 781
353 400
703 864
261 683
899 141
418 183
661 895
293 921
673 706
325 636
710 73
531 332
464 411
22...

output:

-1

result:

ok n=1000

Test #35:

score: 0
Accepted
time: 32ms
memory: 5988kb

input:

1000 178041
497 424
9 659
747 832
433 668
51 810
29 919
469 449
57 400
574 495
196 68
708 134
686 343
653 896
434 700
89 777
376 46
197 28
311 62
359 778
201 729
596 489
255 157
277 372
426 562
243 343
990 249
198 806
683 340
734 727
555 615
182 190
395 527
397 354
190 301
354 475
261 696
119 187
92...

output:

-1

result:

ok n=1000

Test #36:

score: 0
Accepted
time: 80ms
memory: 10640kb

input:

1000 329058
799 494
38 849
25 833
336 645
577 722
178 79
881 994
809 98
959 430
738 613
748 833
317 137
988 571
284 952
210 348
894 832
797 263
873 309
191 464
192 922
772 410
270 62
578 217
283 991
195 531
998 517
6 994
410 421
874 260
638 366
307 652
105 922
742 367
751 56
575 705
250 684
836 511
...

output:

85915
1000 10 6 7
1000 23 18 6
1000 35 19 10
1000 36 20 2
1000 45 30 1
1000 57 31 10
1000 64 38 3
1000 75 41 1
1000 78 42 8
1000 89 48 1
1000 117 67 19
1000 132 88 5
1000 143 105 1
1000 146 107 2
1000 150 109 6
1000 156 129 2
1000 160 162 9
1000 165 176 2
1000 171 180 1
1000 172 198 3
1000 188 200 1...

result:

ok n=1000

Test #37:

score: 0
Accepted
time: 24ms
memory: 4980kb

input:

700 118864
393 254
361 243
307 538
393 47
635 292
132 684
270 448
303 534
216 214
250 9
547 160
360 102
340 280
134 536
424 127
596 179
14 531
459 107
157 440
107 200
511 93
89 43
639 281
395 613
141 546
444 186
49 546
195 137
694 217
694 79
219 660
319 679
398 25
529 207
74 257
571 28
303 607
434 4...

output:

-1

result:

ok n=700

Test #38:

score: 0
Accepted
time: 35ms
memory: 6940kb

input:

700 166244
142 336
398 620
463 650
98 529
518 118
93 166
583 244
48 390
216 584
373 19
613 674
428 120
410 600
19 178
41 257
41 555
495 251
261 422
220 77
472 256
382 274
190 352
406 419
588 161
207 334
355 102
148 34
530 648
660 623
559 596
35 178
226 525
85 413
123 491
192 215
459 326
339 241
165 ...

output:

39531
700 2 1 6
700 4 20 6
700 12 27 5
700 13 29 1
700 14 35 6
700 15 39 6
700 17 41 2
700 18 43 5
700 19 45 2
700 22 48 3
700 23 53 1
700 26 56 23
700 34 63 17
700 42 67 9
700 46 70 3
700 49 73 6
700 51 77 11
700 54 80 14
700 62 81 5
700 74 82 1
700 75 87 11
700 76 88 9
700 86 90 1
700 95 93 1
700 ...

result:

ok n=700

Test #39:

score: 0
Accepted
time: 39ms
memory: 6832kb

input:

700 181048
343 61
239 523
29 461
7 542
82 585
520 666
88 46
191 501
624 368
559 567
647 267
149 34
458 321
388 574
167 304
418 376
354 289
129 215
143 455
408 187
37 436
260 455
467 12
691 380
93 369
88 225
419 637
463 199
194 172
657 81
162 592
497 301
581 665
441 63
618 492
178 540
438 63
47 16
32...

output:

31998
700 1 20 6
700 5 27 2
700 19 42 1
700 29 47 9
700 52 53 2
700 83 71 7
700 102 87 1
700 130 90 11
700 153 95 1
700 177 118 7
700 184 129 1
700 210 133 3
700 228 150 2
700 233 171 5
700 254 174 12
700 262 183 2
700 293 193 6
700 303 199 3
700 311 227 15
700 316 230 5
700 320 231 3
700 335 249 2
...

result:

ok n=700

Test #40:

score: 0
Accepted
time: 40ms
memory: 6912kb

input:

700 183148
648 372
284 392
197 636
424 400
34 369
367 419
344 458
236 192
297 358
229 94
680 295
175 416
685 516
542 549
553 338
425 254
519 501
220 146
600 137
440 35
365 674
213 267
310 665
678 18
386 448
388 467
191 40
460 675
427 214
683 387
301 445
513 320
378 257
336 541
8 235
542 477
682 43
2...

output:

30984
700 1 5 4
700 2 8 6
700 4 13 10
700 7 18 6
700 9 21 10
700 12 22 1
700 26 25 5
700 27 28 45
700 30 29 6
700 31 32 1
700 36 43 7
700 40 44 12
700 41 46 1
700 48 47 6
700 53 57 1
700 54 63 21
700 55 68 36
700 56 69 10
700 60 75 2
700 64 78 1
700 77 79 2
700 83 87 5
700 84 88 21
700 86 93 12
700 ...

result:

ok n=700

Test #41:

score: 0
Accepted
time: 2ms
memory: 4384kb

input:

800 26277
664 528
664 612
558 54
766 451
52 97
118 656
13 604
121 257
732 95
675 739
372 490
297 626
351 270
177 367
500 633
359 383
255 47
664 663
675 193
766 370
749 79
420 341
459 697
664 685
696 685
162 577
718 614
756 433
205 436
232 257
420 663
391 400
500 569
541 706
665 120
557 784
232 381
3...

output:

-1

result:

ok n=800

Test #42:

score: 0
Accepted
time: 10ms
memory: 4004kb

input:

800 53746
397 616
781 4
288 657
430 216
532 6
430 649
2 39
61 196
526 271
767 127
457 73
700 378
538 287
345 686
235 79
557 762
750 410
185 530
475 379
733 462
168 748
60 639
496 680
446 311
169 717
626 292
122 364
450 246
761 785
365 356
763 620
795 113
185 380
768 363
345 611
286 518
267 412
185 7...

output:

-1

result:

ok n=800

Test #43:

score: 0
Accepted
time: 11ms
memory: 4288kb

input:

800 61737
666 619
397 336
689 447
203 469
431 587
363 226
653 287
313 184
24 36
560 508
660 25
635 395
748 330
63 281
603 373
340 760
799 564
302 762
381 434
278 541
225 74
339 538
633 647
43 198
210 341
243 342
27 447
660 78
271 743
340 243
381 423
529 538
364 98
210 224
548 297
653 118
403 129
748...

output:

-1

result:

ok n=800

Test #44:

score: 0
Accepted
time: 50ms
memory: 7876kb

input:

800 208781
679 234
339 713
52 125
626 741
628 281
611 392
431 697
418 608
717 298
523 593
790 262
642 770
534 794
312 502
470 731
463 639
362 484
518 468
474 97
406 381
786 388
84 282
237 476
202 555
358 680
110 179
463 239
796 340
408 318
230 539
76 629
362 447
309 28
512 167
83 384
126 800
204 317...

output:

55463
800 9 2 4
800 13 4 6
800 16 41 1
800 21 46 10
800 23 50 3
800 29 55 5
800 35 60 4
800 42 66 2
800 43 70 2
800 51 71 10
800 74 96 7
800 104 119 8
800 105 123 6
800 108 124 9
800 117 127 15
800 126 128 10
800 129 145 5
800 132 156 2
800 139 176 3
800 140 178 3
800 141 180 2
800 158 183 6
800 165...

result:

ok n=800

Test #45:

score: 0
Accepted
time: 73ms
memory: 10112kb

input:

900 398523
225 110
157 724
694 690
106 826
327 824
86 34
428 654
402 806
336 799
273 365
137 73
466 692
461 752
116 398
547 230
604 399
874 212
542 878
131 167
20 265
521 212
700 674
637 62
624 186
24 418
61 115
339 501
360 392
389 436
592 677
128 320
270 642
880 649
210 397
561 306
53 219
570 137
7...

output:

2722
900 71 138 2
900 176 627 3
900 353 639 2
900 472 721 1
899 71 138 3
899 627 176 3
899 628 353 9
899 639 765 1
899 769 896 1
898 627 353 15
898 628 472 11
898 721 769 1
898 765 896 4
897 721 353 16
897 896 849 1
896 1 8 71
896 6 12 71
896 7 16 138
896 11 22 353
896 15 23 71
896 17 25 353
896 24 ...

result:

ok n=900

Test #46:

score: 0
Accepted
time: 32ms
memory: 5992kb

input:

900 175150
25 208
14 514
879 562
352 487
4 259
353 338
613 221
435 312
286 873
756 40
518 304
56 233
596 631
788 821
511 75
601 817
851 396
889 247
142 346
145 763
876 1
890 796
12 334
219 25
499 334
65 572
553 455
826 780
435 715
376 98
895 80
883 210
175 738
27 768
775 332
254 506
820 258
840 159
...

output:

-1

result:

ok n=900

Test #47:

score: 0
Accepted
time: 10ms
memory: 4484kb

input:

900 72704
357 590
502 896
200 606
898 728
712 593
311 407
898 859
366 115
693 496
291 370
156 642
462 482
878 475
47 413
380 715
541 747
557 478
171 777
776 543
717 307
201 477
682 644
515 896
412 582
677 97
129 81
878 210
595 836
459 567
137 124
322 709
898 736
366 430
298 120
366 589
280 613
69 28...

output:

-1

result:

ok n=900

Test #48:

score: 0
Accepted
time: 68ms
memory: 10020kb

input:

900 387170
42 441
530 66
162 142
568 695
389 788
803 383
426 813
250 679
145 367
667 569
397 817
830 261
139 405
839 224
489 193
697 1
299 754
850 636
809 785
691 148
759 234
359 272
67 157
287 769
853 166
40 153
711 712
568 311
197 536
620 120
127 329
255 860
794 669
860 454
231 60
702 179
574 841
...

output:

8511
900 4 150 14
900 8 218 10
900 43 285 1
900 52 327 3
900 283 435 3
900 287 541 15
900 359 554 5
900 387 630 3
900 506 706 3
900 527 858 2
899 195 43 5
899 303 218 14
899 359 327 7
899 582 406 6
899 664 435 6
899 670 445 1
899 682 527 1
899 706 858 6
898 52 100 4
898 116 283 2
898 150 303 8
898 2...

result:

ok n=900

Test #49:

score: 0
Accepted
time: 83ms
memory: 11000kb

input:

1000 406455
9 241
474 877
884 404
468 8
181 866
893 269
225 707
820 961
619 36
112 872
359 821
640 330
680 848
103 19
336 92
769 681
611 714
301 760
676 421
119 257
146 513
87 707
379 455
358 356
708 876
347 122
298 771
570 631
843 201
338 5
436 701
797 530
842 488
848 529
644 925
388 298
596 627
62...

output:

46736
1000 4 9 17
1000 12 24 2
1000 56 57 1
1000 58 65 3
1000 100 83 3
1000 103 172 1
1000 104 183 1
1000 109 186 3
1000 131 188 1
1000 155 256 2
1000 156 262 1
1000 159 274 1
1000 161 299 7
1000 226 351 4
1000 266 377 1
1000 301 402 2
1000 332 459 2
1000 350 466 2
1000 365 468 1
1000 383 474 4
1000...

result:

ok n=1000

Test #50:

score: 0
Accepted
time: 87ms
memory: 11508kb

input:

1000 488020
67 263
700 688
397 848
658 212
703 330
166 785
606 740
474 760
634 197
121 183
140 885
359 288
241 677
969 867
609 74
590 223
837 496
23 320
780 321
873 217
726 866
7 514
120 616
985 470
177 709
219 599
902 55
587 770
25 303
680 552
874 115
541 878
648 566
216 352
639 51
244 232
383 337
...

output:

5522
1000 6 85 15
1000 11 107 9
1000 77 387 5
1000 112 538 3
1000 398 595 5
1000 580 768 2
1000 814 804 4
1000 914 810 5
999 112 107 26
999 538 280 1
999 595 676 5
998 77 6 15
998 85 387 6
998 230 398 1
998 538 471 2
998 580 595 1
998 804 676 9
998 884 814 1
998 914 933 10
997 77 6 18
997 85 280 2
9...

result:

ok n=1000