QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#189926#3315. Eulerian Flight TourKKT89AC ✓1ms3572kbC++173.9kb2023-09-28 01:33:272023-09-28 01:33:27

Judging History

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

  • [2023-09-28 01:33:27]
  • 评测
  • 测评结果:AC
  • 用时:1ms
  • 内存:3572kb
  • [2023-09-28 01:33:27]
  • 提交

answer

#pragma GCC optimize ("Ofast")
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;

struct UnionFind{
    vector<int> par,num;
    UnionFind(int n):par(n),num(n,1){
        iota(par.begin(),par.end(),0);  //include<numeric>
    }
    int find(int v){
        return (par[v]==v)?v:(par[v]=find(par[v]));
    }
    void unite(int u, int v){
        u = find(u),v = find(v);
        if(u == v) return;
        if(num[u] < num[v]) swap(u,v);
        num[u] += num[v];
        par[v] = u;
    }
    bool same(int u, int v){
        return find(u) == find(v);
    }
    int size(int v){
        return num[find(v)];
    }
};

int main(){
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    int n,m; cin >> n >> m;
    vector<vector<bool>> g(n,vector<bool>(n));
    vector<int> deg(n);
    UnionFind uf(n);
    for (int i = 0; i < n; ++i) {
        g[i][i] = true;
    }
    for (int i = 0; i < m; ++i) {
        int x,y; cin >> x >> y;
        x--; y--;
        g[x][y] = g[y][x] = true;
        uf.unite(x, y);
        deg[x]++;
        deg[y]++;
    }
    vector<pair<int,int>> res;
    auto add = [&](int s,int t)->void{
        res.push_back({s, t});
        g[s][t] = g[t][s] = true;
        deg[s]++; deg[t]++;
        uf.unite(s, t);
    };
    // 孤立点を貪欲に処理
    {
        vector<int> one;
        vector<int> odd;
        for (int i = 0; i < n; ++i) {
            if(deg[i] == 0) one.push_back(i);
            if(deg[i] % 2 == 1) odd.push_back(i);
        }
        if(odd.size()){
            int s = odd.back();
            while(one.size()){
                int t = one.back(); one.pop_back();
                add(s, t);
                s = t;
            }
        }
    }
    vector<bool> used(n);
    // 次数の条件を揃える
    // 補グラフのdfs tree
    auto dfs = [&](auto dfs,int s,int p)->void{
        for (int i = 0; i < n; ++i) {
            if(g[s][i] or used[i]) continue;
            used[i] = true;
            dfs(dfs, i, s);
        }
        if(deg[s]%2 == 1){
            if(p == -1){
                cout << -1 << "\n"; exit(0);
            }
            add(s, p);
        }
    };
    for (int i = 0; i < n; ++i) {
        if(used[i]) continue;
        used[i] = true;
        dfs(dfs, i, -1);
    }
    // 連結にする
    vector<pair<int,int>> v;
    for (int i = 0; i < n; ++i) {
        if(uf.find(i) == i){
            int j = -1;
            for (int k = 0; k < n; ++k) {
                if(uf.same(i, k) and i != k){
                    j = k; break;
                }
            }
            v.push_back({i,j});
        }
    }
    if(v.size() == 2){
        if(v[1].second == -1) swap(v[0], v[1]);
        if(v[0].second != -1){
            add(v[0].first, v[1].first);
            add(v[0].first, v[1].second);
            add(v[0].second, v[1].first);
            add(v[0].second, v[1].second);
        }
        else{
            bool done = false;
            for (int i = 0; i < n; ++i) {
                if(done or i == v[0].first) continue;
                for (int j = 0; j < n; ++j) {
                    if(done or j == v[0].first) continue;
                    if(!g[i][j]){
                        done = true;
                        add(i, j);
                        add(i, v[0].first);
                        add(j, v[0].first);
                    }
                }
            }
            if(!done){
                cout << -1 << "\n"; return 0;
            }
        }
    }
    else if(v.size() >= 3){
        for (int i = 0; i < v.size(); ++i) {
            int j = i+1 < v.size() ? i+1 : 0;
            add(v[i].first, v[j].first);
        }
    }
    cout << res.size() << "\n";
    for(auto p:res){
        if(p.first > p.second) swap(p.first, p.second);
        cout << p.first+1 << " " << p.second+1 << "\n";
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

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

output:

6
3 5
1 3
1 6
1 7
2 6
2 7

result:

ok 

Test #2:

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

input:

87 86
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 13
13 14
14 15
15 16
16 17
17 18
18 19
19 20
20 21
21 22
22 23
23 24
24 25
25 26
26 27
27 28
28 29
29 30
30 31
31 32
32 33
33 34
34 35
35 36
36 37
37 38
38 39
39 40
40 41
41 42
42 43
44 45
45 46
46 47
47 48
48 49
49 50
50 51
51 52
52 53
53 54...

output:

45
41 43
39 41
37 39
37 40
38 40
36 38
34 36
32 34
32 35
33 35
31 33
29 31
27 29
27 30
28 30
26 28
24 26
22 24
22 25
23 25
21 23
19 21
17 19
17 20
18 20
16 18
14 16
12 14
12 15
13 15
11 13
9 11
7 9
7 10
8 10
6 8
4 6
2 4
2 5
3 5
1 3
1 44
1 45
2 44
2 45

result:

ok 

Test #3:

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

input:

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

output:

5
1 5
1 6
1 7
2 6
2 7

result:

ok 

Test #4:

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

input:

87 260
1 2
1 3
1 4
2 3
2 4
2 5
3 4
3 5
3 6
4 5
4 6
4 7
5 6
5 7
5 8
6 7
6 8
6 9
7 8
7 9
7 10
8 9
8 10
8 11
9 10
9 11
9 12
10 11
10 12
10 13
11 12
11 13
11 14
12 13
12 14
12 15
13 14
13 15
13 16
14 15
14 16
14 17
15 16
15 17
15 18
16 17
16 18
16 19
17 18
17 19
17 20
18 19
18 20
18 21
19 20
19 21
19 22...

output:

42
39 43
35 39
35 42
38 42
34 38
30 34
26 30
26 33
29 33
25 29
25 32
28 32
24 28
24 31
27 31
23 27
19 23
15 19
15 22
18 22
14 18
14 21
17 21
13 17
13 20
16 20
12 16
8 12
4 8
4 11
7 11
3 7
3 10
6 10
2 6
2 9
5 9
1 5
1 44
1 45
2 44
2 45

result:

ok 

Test #5:

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

input:

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

output:

9
2 11
9 11
7 9
5 7
3 5
3 6
4 6
2 4
1 2

result:

ok 

Test #6:

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

input:

87 85
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 13
13 14
14 15
15 16
16 17
17 18
18 19
19 20
20 21
21 22
22 23
23 24
24 25
25 26
26 27
27 28
28 29
29 30
30 31
31 32
32 33
33 34
34 35
35 36
36 37
37 38
38 39
39 40
40 41
41 42
42 43
43 44
44 45
45 46
46 47
47 48
48 49
49 50
50 51
51 52
52 53
53 ...

output:

87
2 87
85 87
83 85
83 86
84 86
82 84
80 82
78 80
78 81
79 81
77 79
75 77
73 75
73 76
74 76
72 74
70 72
68 70
68 71
69 71
67 69
65 67
63 65
63 66
64 66
62 64
60 62
58 60
58 61
59 61
57 59
55 57
53 55
53 56
54 56
52 54
50 52
48 50
48 51
49 51
47 49
45 47
43 45
43 46
44 46
42 44
40 42
38 40
38 41
39 4...

result:

ok 

Test #7:

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

input:

11 19
1 3
2 3
2 4
3 4
3 5
4 5
4 6
5 6
5 7
6 7
6 8
7 8
7 9
8 9
8 10
9 10
1 9
1 10
2 10

output:

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

result:

ok 

Test #8:

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

input:

87 343
1 3
1 4
1 5
2 3
2 4
2 5
2 6
3 4
3 5
3 6
3 7
4 5
4 6
4 7
4 8
5 6
5 7
5 8
5 9
6 7
6 8
6 9
6 10
7 8
7 9
7 10
7 11
8 9
8 10
8 11
8 12
9 10
9 11
9 12
9 13
10 11
10 12
10 13
10 14
11 12
11 13
11 14
11 15
12 13
12 14
12 15
12 16
13 14
13 15
13 16
13 17
14 15
14 16
14 17
14 18
15 16
15 17
15 18
15 19...

output:

87
2 87
86 87
81 86
76 81
76 85
80 85
75 80
75 84
79 84
74 79
74 83
78 83
73 78
73 82
77 82
72 77
67 72
62 67
62 71
66 71
61 66
61 70
65 70
60 65
60 69
64 69
59 64
59 68
63 68
58 63
53 58
48 53
48 57
52 57
47 52
47 56
51 56
46 51
46 55
50 55
45 50
45 54
49 54
44 49
39 44
34 39
34 43
38 43
33 38
33 4...

result:

ok 

Test #9:

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

input:

11 20
5 9
4 5
4 9
1 9
1 4
4 8
1 8
1 6
6 8
8 10
6 10
3 6
3 10
2 10
2 3
3 11
2 11
2 5
5 11
9 11

output:

3
1 2
1 7
2 7

result:

ok 

Test #10:

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

input:

87 344
38 45
45 70
45 75
45 72
38 70
38 75
38 72
35 38
70 75
70 72
35 70
47 70
72 75
35 75
47 75
4 75
35 72
47 72
4 72
23 72
35 47
4 35
23 35
35 85
4 47
23 47
47 85
47 82
4 23
4 85
4 82
2 4
23 85
23 82
2 23
13 23
82 85
2 85
13 85
80 85
2 82
13 82
80 82
57 82
2 13
2 80
2 57
2 15
13 80
13 57
13 15
13 ...

output:

3
1 2
1 54
2 54

result:

ok 

Test #11:

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

input:

100 4850
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
1 62...

output:

2
23 91
23 47

result:

ok 

Test #12:

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

input:

100 4849
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
1 62...

output:

3
24 98
24 45
75 76

result:

ok 

Test #13:

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

input:

100 4848
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 60
1 61
1 62...

output:

4
59 69
6 35
25 68
49 59

result:

ok 

Test #14:

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

input:

100 4804
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 59
1 60
1 61
1 62
1 63
1 64...

output:

44
57 99
36 43
70 71
43 70
12 14
12 86
37 86
41 86
73 86
43 86
43 84
3 84
21 90
75 90
3 90
4 24
6 8
6 78
9 89
10 60
13 38
15 29
15 35
16 79
42 85
18 85
19 33
59 72
59 83
22 83
25 48
30 63
30 77
45 61
31 45
31 66
65 68
32 68
32 57
47 69
57 58
57 74
93 95
1 26

result:

ok 

Test #15:

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

input:

100 4801
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 58
1 59
1 60
1 61
1 62
1 63...

output:

46
20 100
2 16
5 63
22 63
50 97
63 97
3 63
19 69
68 75
19 75
19 91
28 57
29 52
48 52
48 99
3 99
3 20
34 71
62 71
7 62
7 82
12 53
23 40
23 24
64 96
14 64
36 77
15 77
17 37
72 74
17 74
33 44
21 33
66 73
25 73
20 25
30 38
43 93
43 84
32 84
55 83
47 83
65 70
59 65
78 89
1 20

result:

ok 

Test #16:

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

input:

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

output:

-1

result:

ok 

Test #17:

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

input:

100 4851
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61...

output:

-1

result:

ok 

Test #18:

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

input:

9 28
1 2
1 3
1 4
1 6
1 7
1 8
1 9
2 3
2 4
2 6
2 7
2 8
2 9
3 4
3 6
3 7
3 8
3 9
4 6
4 7
4 8
4 9
6 7
6 8
6 9
7 8
7 9
8 9

output:

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

result:

ok 

Test #19:

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

input:

99 4753
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
...

output:

98
81 99
2 81
3 81
4 81
5 81
6 81
7 81
8 81
9 81
10 81
11 81
12 81
13 81
14 81
15 81
16 81
17 81
18 81
19 81
20 81
21 81
22 81
23 81
24 81
25 81
26 81
27 81
28 81
29 81
30 81
31 81
32 81
33 81
34 81
35 81
36 81
37 81
38 81
39 81
40 81
41 81
42 81
43 81
44 81
45 81
46 81
47 81
48 81
49 81
50 81
51 81...

result:

ok 

Test #20:

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

input:

96 0

output:

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

result:

ok 

Test #21:

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

input:

97 0

output:

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

result:

ok 

Test #22:

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

input:

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

output:

0

result:

ok 

Test #23:

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

input:

20 148
1 2
1 4
1 6
1 7
1 8
1 9
1 10
1 11
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
2 3
2 4
2 5
2 6
2 8
2 9
2 10
2 11
2 12
2 13
2 14
2 15
2 16
2 17
2 18
2 19
2 20
3 4
3 6
3 7
3 8
3 9
3 10
3 11
3 13
3 14
3 15
3 16
3 17
3 18
3 19
3 20
4 5
4 6
4 7
4 9
4 11
4 12
4 16
4 17
4 19
5 6
5 7
5 8
5 9
5 10
5 11
5 1...

output:

0

result:

ok 

Test #24:

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

input:

30 348
1 2
1 3
1 4
1 5
1 6
1 8
1 9
1 10
1 11
1 12
1 13
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 24
1 26
1 27
1 28
1 29
1 30
2 3
2 4
2 6
2 7
2 10
2 11
2 12
2 13
2 14
2 15
2 16
2 18
2 20
2 21
2 22
2 23
2 24
2 25
2 28
2 29
2 30
3 4
3 5
3 6
3 7
3 8
3 9
3 10
3 11
3 12
3 13
3 14
3 15
3 16
3 17
3 18
3 19
3 20
...

output:

0

result:

ok 

Test #25:

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

input:

40 516
1 2
1 4
1 6
1 7
1 8
1 9
1 13
1 15
1 17
1 18
1 19
1 21
1 22
1 23
1 25
1 32
1 34
1 35
1 36
1 37
2 3
2 4
2 5
2 6
2 7
2 9
2 10
2 11
2 12
2 13
2 14
2 15
2 16
2 17
2 18
2 19
2 20
2 21
2 22
2 23
2 24
2 26
2 27
2 28
2 29
2 30
2 31
2 32
2 33
2 34
2 35
2 37
2 38
2 39
2 40
3 4
3 6
3 7
3 8
3 9
3 13
3 15
...

output:

0

result:

ok 

Test #26:

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

input:

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

output:

0

result:

ok 

Test #27:

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

input:

4 2
1 2
2 3

output:

2
3 4
1 4

result:

ok 

Test #28:

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

input:

4 3
1 2
2 3
1 3

output:

-1

result:

ok 

Test #29:

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

input:

4 3
1 2
2 3
3 4

output:

1
1 4

result:

ok 

Test #30:

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

input:

4 2
2 3
3 4

output:

2
1 4
1 2

result:

ok 

Test #31:

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

input:

4 2
3 4
1 4

output:

2
2 3
1 2

result:

ok 

Test #32:

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

input:

4 2
1 4
1 2

output:

2
3 4
2 3

result:

ok 

Test #33:

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

input:

98 4753
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
...

output:

-1

result:

ok 

Test #34:

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

input:

99 4851
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
...

output:

0

result:

ok 

Test #35:

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

input:

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

output:

5
4 7
2 7
2 3
6 8
3 8

result:

ok 

Test #36:

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

input:

100 4801
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
1 62
1 63...

output:

73
5 14
5 33
33 91
24 91
24 74
16 74
6 16
6 15
15 50
31 50
31 60
51 60
51 56
19 56
19 28
28 67
57 67
49 57
49 71
46 71
46 54
54 72
30 72
9 30
9 40
40 96
75 96
75 80
35 80
22 35
8 36
25 36
25 52
43 52
39 43
39 61
23 61
23 65
32 65
32 68
48 68
38 48
38 41
11 41
11 99
69 99
7 69
7 73
4 73
4 13
13 85
12...

result:

ok 

Test #37:

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

input:

100 4803
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
1 62
1 63
1 64...

output:

68
7 21
21 54
47 54
2 47
2 56
16 56
10 16
10 35
35 46
6 46
6 29
27 86
86 95
8 95
8 14
14 25
25 26
26 58
58 77
41 77
41 50
50 96
13 96
13 23
23 45
12 45
12 69
67 69
11 67
11 62
37 62
37 73
73 84
42 84
42 68
20 68
20 100
3 100
3 61
28 61
28 98
30 98
30 36
29 36
34 94
34 88
18 88
18 89
9 89
9 24
24 53
...

result:

ok 

Test #38:

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

input:

92 4049
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
1 62
...

output:

-1

result:

ok 

Test #39:

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

input:

92 4005
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
1 62
1 63
...

output:

-1

result:

ok 

Test #40:

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

input:

93 4143
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
1 62
...

output:

36
14 33
12 26
15 47
8 15
54 79
24 70
36 70
78 83
45 74
20 81
77 81
19 81
22 87
22 68
31 90
82 91
39 48
39 66
51 58
29 73
50 73
73 88
52 73
52 75
8 44
5 44
5 61
5 27
9 92
2 21
16 21
17 30
30 57
11 57
18 33
1 38

result:

ok 

Test #41:

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

input:

93 4096
1 2
1 3
1 4
1 5
1 6
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 61
1 62
1 63
1 64...

output:

45
16 32
8 42
65 85
70 74
28 55
4 91
55 91
70 89
83 93
71 93
48 71
40 69
13 53
13 54
13 77
13 38
38 81
5 43
5 61
33 64
45 79
29 66
2 66
2 27
78 92
14 78
62 75
8 62
8 25
26 63
35 72
10 76
10 34
34 47
19 23
22 32
6 57
15 57
15 31
3 60
18 30
68 88
17 88
12 17
21 50

result:

ok 

Test #42:

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

input:

94 140
76 94
13 94
43 62
61 93
10 88
42 68
29 79
3 70
34 50
75 78
2 25
14 34
20 28
10 78
5 33
29 86
10 37
41 66
68 94
16 21
10 72
20 82
38 61
6 67
65 68
35 79
61 87
43 85
23 56
51 75
28 75
37 89
48 72
74 82
12 67
25 62
58 61
52 54
38 58
16 76
27 83
17 69
7 28
2 42
47 83
34 89
86 91
59 89
6 8
10 65
6...

output:

56
90 93
45 90
90 91
89 90
86 87
84 85
82 83
81 82
79 80
78 79
77 78
76 77
75 76
73 74
71 72
69 70
67 68
66 67
64 65
61 62
60 61
59 60
58 59
57 58
55 56
54 55
53 54
52 53
49 50
47 48
46 47
45 46
43 44
41 42
39 40
38 39
32 33
31 32
30 31
28 29
27 28
25 26
23 24
21 22
20 21
18 19
17 18
15 16
14 15
12 ...

result:

ok 

Test #43:

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

input:

94 184
72 88
43 75
15 88
21 49
58 73
2 43
68 89
39 88
15 53
7 82
18 50
25 63
35 90
26 28
9 84
37 70
18 56
38 90
8 10
47 52
43 50
28 94
24 25
66 83
26 66
35 42
3 14
47 77
2 74
9 49
4 86
47 80
52 53
53 77
1 10
47 48
58 72
2 7
37 42
28 50
64 93
13 22
1 41
54 80
53 58
62 67
16 75
2 63
1 56
17 82
11 79
4...

output:

49
60 94
92 93
91 92
88 89
86 87
81 82
79 80
78 79
77 78
76 77
75 76
73 74
70 71
69 70
66 67
65 66
64 65
63 64
62 63
60 61
56 57
53 55
53 54
50 51
48 49
47 49
44 45
41 42
39 40
38 39
37 38
35 36
31 32
28 29
27 28
25 27
20 21
19 20
18 19
17 18
15 16
13 14
11 12
10 11
8 9
7 8
6 7
2 4
1 2

result:

ok 

Test #44:

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

input:

95 141
83 92
15 69
44 84
8 22
3 45
46 60
36 71
71 73
9 53
89 95
13 57
8 13
7 57
62 69
12 93
6 55
32 72
28 58
3 22
5 20
14 35
52 63
28 55
48 55
43 91
19 34
31 60
5 91
39 73
5 71
44 78
26 59
42 75
45 82
36 46
31 41
54 61
16 74
55 62
15 33
31 37
41 55
59 92
54 79
28 61
61 65
37 94
4 31
35 41
21 92
40 9...

output:

49
77 91
51 77
38 51
30 38
25 30
89 90
87 88
84 85
81 82
75 76
72 73
71 72
69 70
68 69
65 66
64 65
63 64
60 61
59 60
57 58
55 56
53 54
52 53
51 52
50 51
48 49
44 45
41 42
38 39
37 38
32 33
31 32
30 31
29 30
25 26
23 24
21 23
19 20
17 18
14 15
13 14
12 13
9 11
8 10
7 8
6 7
4 6
4 5
2 3

result:

ok 

Test #45:

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

input:

95 184
35 51
77 94
31 39
2 28
12 57
10 63
57 70
15 55
40 46
1 31
12 84
11 65
71 79
52 71
11 35
2 92
37 60
11 92
1 33
24 91
37 76
56 86
16 42
17 73
45 63
38 41
43 89
8 16
29 90
42 70
50 77
20 32
4 28
6 33
3 25
38 39
5 92
18 85
19 47
76 82
16 93
24 40
20 88
62 70
10 38
48 49
48 69
54 92
10 11
79 83
13...

output:

49
59 95
92 93
91 93
84 85
82 83
79 80
78 79
72 73
71 72
68 69
67 69
66 67
65 66
64 65
63 64
62 63
60 61
58 59
55 56
52 53
49 51
48 50
45 47
44 45
43 44
42 43
41 42
39 41
39 40
35 36
33 34
32 33
31 32
29 31
29 30
28 30
27 28
25 26
20 21
18 19
13 14
11 12
10 12
9 10
8 9
6 8
4 5
3 4
2 3

result:

ok 

Test #46:

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

input:

31 46
28 29
17 29
4 18
9 25
6 28
1 16
15 31
28 31
1 22
22 31
14 18
4 7
5 12
22 27
21 25
4 5
1 15
14 21
1 14
16 18
19 24
18 28
10 25
3 14
14 23
5 28
13 16
4 28
6 13
22 26
18 20
7 19
1 20
15 17
3 26
5 20
5 13
13 24
2 17
14 24
27 29
1 29
5 25
29 31
4 22
1 23

output:

17
29 30
11 30
8 11
23 24
22 23
19 20
18 19
16 17
14 15
13 14
12 13
9 10
7 8
5 7
5 6
4 6
1 2

result:

ok 

Test #47:

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

input:

31 57
5 26
1 3
3 29
19 23
16 19
11 21
5 20
19 29
7 12
26 29
18 27
10 23
11 15
23 26
27 31
6 30
2 15
3 24
8 12
4 16
15 23
15 18
6 29
16 21
9 21
28 31
10 12
7 24
25 26
6 11
13 17
9 16
7 18
12 16
12 31
3 31
23 28
12 23
7 25
13 27
9 11
3 17
14 20
4 17
4 12
12 19
1 17
28 30
26 28
5 11
21 27
10 25
22 23
1...

output:

13
28 29
26 27
25 27
23 24
21 22
15 16
14 15
10 11
9 10
7 8
6 7
4 5
2 3

result:

ok 

Test #48:

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

input:

32 47
14 25
13 20
14 21
2 24
6 7
24 26
12 32
19 31
9 29
6 22
1 3
4 16
12 31
7 10
4 18
2 31
8 17
18 29
14 30
3 22
18 30
12 23
12 18
14 31
25 32
15 21
21 28
6 23
2 22
16 29
25 26
2 14
16 23
10 21
23 31
14 18
28 31
10 28
10 17
2 13
7 21
3 12
15 20
1 31
5 16
20 28
15 23

output:

17
27 31
11 27
28 29
26 28
26 27
25 27
22 23
20 21
18 19
14 15
13 14
12 13
10 11
9 10
7 8
5 6
2 3

result:

ok 

Test #49:

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

input:

32 60
26 29
17 28
4 21
6 9
3 4
22 25
9 31
5 17
12 15
5 31
3 14
1 22
6 32
15 19
19 26
6 26
30 31
2 13
15 23
14 26
18 24
13 21
26 32
4 24
10 20
4 27
21 22
7 18
11 23
25 28
16 26
15 17
11 29
11 30
15 29
6 20
5 18
13 25
17 22
24 27
20 32
1 7
11 31
14 28
2 29
6 23
8 21
10 18
8 32
5 13
11 19
20 23
9 14
16...

output:

12
31 32
30 32
25 26
22 24
22 23
16 17
15 16
7 8
4 6
4 5
3 5
2 3

result:

ok 

Test #50:

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

input:

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

output:

-1

result:

ok 

Test #51:

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

input:

20 144
1 2
1 5
1 6
1 9
1 11
1 12
1 15
1 16
1 17
1 18
1 19
1 20
2 3
2 4
2 6
2 7
2 8
2 10
2 12
2 13
2 14
2 15
2 16
2 17
2 20
3 5
3 6
3 9
3 11
3 12
3 15
3 16
3 17
3 18
3 19
3 20
4 5
4 6
4 9
4 11
4 12
4 15
4 16
4 17
4 18
4 19
4 20
5 6
5 7
5 8
5 10
5 12
5 13
5 14
5 15
5 16
5 17
5 20
6 7
6 8
6 9
6 10
6 11...

output:

0

result:

ok 

Test #52:

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

input:

30 333
1 2
1 3
1 4
1 5
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
2 4
2 6
2 8
2 9
2 12
2 13
2 14
2 15
2 16
2 17
2 20
2 21
2 22
2 23
2 24
2 25
2 26
2 30
3 4
3 6
3 8
3 9
3 12
3 13
3 14
3 15
3 16
3 17
3 20
3 21
3 22
3 23
3 24
3 25
3 2...

output:

-1

result:

ok 

Test #53:

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

input:

40 567
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 11
1 13
1 14
1 16
1 17
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 30
1 31
1 32
1 34
1 35
1 36
1 38
1 39
2 3
2 4
2 6
2 10
2 11
2 12
2 14
2 15
2 17
2 18
2 19
2 22
2 24
2 25
2 26
2 28
2 29
2 30
2 31
2 33
2 34
2 37
2 40
3 5
3 7
3 8
3 9
3 10
3 11
3 12
3 13
3 14
3 1...

output:

-1

result:

ok 

Test #54:

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

input:

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

output:

-1

result:

ok 

Test #55:

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

input:

3 0

output:

3
1 2
2 3
1 3

result:

ok 

Test #56:

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

input:

3 1
1 2

output:

2
2 3
1 3

result:

ok 

Test #57:

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

input:

3 3
1 2
2 3
1 3

output:

0

result:

ok 

Test #58:

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

input:

90 90
21 71
21 66
66 69
69 80
22 80
22 87
9 87
9 49
17 49
17 83
45 83
5 45
5 57
35 57
35 44
33 44
33 70
2 70
2 20
10 20
10 23
23 58
40 58
40 72
72 79
13 79
13 15
15 88
60 88
4 60
4 12
12 14
14 63
47 63
1 47
1 41
41 43
43 54
31 54
31 32
32 73
73 81
29 81
29 74
65 74
65 67
53 67
36 53
36 82
82 84
42 8...

output:

4
21 30
7 21
1 30
1 7

result:

ok 

Test #59:

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

input:

90 160
9 83
70 83
7 83
64 83
1 83
33 83
12 83
68 83
59 83
81 83
22 83
18 83
36 83
51 83
83 86
57 83
48 83
72 83
47 83
56 83
10 83
71 83
41 83
15 83
60 83
45 83
16 83
19 83
82 83
83 90
67 83
46 83
37 83
83 88
4 83
28 83
83 87
17 83
32 83
21 83
69 83
44 83
13 83
6 83
7 33
15 32
56 82
57 69
12 44
6 32
...

output:

43
89 90
88 89
85 86
83 85
83 84
82 84
81 82
71 72
69 70
67 68
66 67
65 66
64 65
56 57
50 51
49 50
48 49
45 46
44 45
43 44
42 43
41 42
36 37
35 36
34 35
33 34
32 33
30 32
30 31
29 31
28 29
21 22
18 19
17 18
16 17
14 15
13 14
11 12
10 11
6 7
3 4
2 3
1 2

result:

ok 

Test #60:

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

input:

91 91
4 8
8 66
66 71
58 71
58 61
50 61
28 50
11 28
11 23
23 82
40 82
10 40
10 89
2 89
2 69
57 69
13 57
13 81
26 81
25 26
14 25
14 59
37 59
7 37
3 7
3 22
22 78
15 78
15 62
18 62
16 18
16 65
48 65
32 48
32 33
33 60
60 84
84 90
1 90
1 5
5 20
20 73
19 73
19 80
70 80
12 70
12 83
39 83
21 39
21 29
29 64
2...

output:

4
4 17
4 6
1 17
1 6

result:

ok 

Test #61:

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

input:

91 162
57 79
47 57
57 60
57 71
9 57
18 57
57 76
13 57
12 57
57 82
34 57
57 58
19 57
11 57
57 80
46 57
57 85
37 57
57 59
57 81
57 87
50 57
36 57
57 69
10 57
48 57
57 89
26 57
57 90
57 62
57 65
56 57
54 57
57 83
45 57
55 57
42 57
57 64
15 57
8 57
57 70
21 57
32 57
52 57
9 58
15 80
26 37
45 70
58 82
36...

output:

42
88 89
87 88
84 85
83 84
79 80
78 79
77 78
76 77
75 76
74 75
73 74
72 73
71 72
64 65
62 64
62 63
57 63
57 61
60 61
59 60
58 59
56 58
55 56
54 55
51 52
50 51
47 48
46 47
40 42
39 40
38 39
37 38
33 34
32 33
25 26
24 25
23 24
22 23
21 22
18 19
11 12
10 11

result:

ok