QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#120266#4635. Graph OperationmyeeAC ✓83ms35940kbC++115.0kb2023-07-06 16:03:592023-07-06 16:04:03

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-06 16:04:03]
  • 评测
  • 测评结果:AC
  • 用时:83ms
  • 内存:35940kb
  • [2023-07-06 16:03:59]
  • 提交

answer

// 那就是希望。
// 即便需要取模,也是光明。

#include <algorithm>
#include <random>
#include <stdio.h>
#include <vector>
typedef long long llt;
typedef unsigned uint;typedef unsigned long long ullt;
typedef bool bol;typedef char chr;typedef void voi;
typedef double dbl;
template<typename T>bol _max(T&a,T b){return(a<b)?a=b,true:false;}
template<typename T>bol _min(T&a,T b){return(b<a)?a=b,true:false;}
template<typename T>T lowbit(T n){return n&-n;}
template<typename T>T gcd(T a,T b){return b?gcd(b,a%b):a;}
template<typename T>T lcm(T a,T b){return(a!=0||b!=0)?a/gcd(a,b)*b:(T)0;}
template<typename T>T exgcd(T a,T b,T&x,T&y){if(b!=0){T ans=exgcd(b,a%b,y,x);y-=a/b*x;return ans;}else return y=0,x=1,a;}
template<typename T>T power(T base,T index,T mod)
{
    T ans=1%mod;
    while(index)
    {
        if(index&1)ans=ans*base%mod;
        base=base*base%mod,index>>=1;
    }
    return ans;
}
// Heaven and Earth... My guiding star...
// Akira Complex R.I.P.
bol B[1005][1005],B2[1005][1005],G[1000005];
uint E[2][1000005],Tp[1000005],Ops[4][1000005],n,m,tp;
voi doit(uint a,uint b,uint c,uint d)
{
    // printf("%u %u %u %u\n",a+1,b+1,c+1,d+1);
    if(a==b||b==c||c==d||d==a||a==c||b==d)puts("qvq"),exit(233);
    if(B[a][c]||B[b][d]||!B[a][b]||!B[c][d])puts("qwq"),exit(233);
    // for(uint i=0;i<n;i++,putchar('\n'))
    //     for(uint j=0;j<n;j++)putchar("01"[B[i][j]]);
    Ops[0][tp]=a,Ops[1][tp]=b,Ops[2][tp]=c,Ops[3][tp]=d,tp++;
    B[a][c]=B[c][a]=B[b][d]=B[d][b]=true,B[a][b]=B[b][a]=B[c][d]=B[d][c]=false;
}
voi upd4(uint a,uint b,uint c,uint d)
{
    if(B[a][b]!=B[c][d]||B[a][d]!=B[b][c]||B[a][b]==B[a][d])return;
    if(B[a][b])doit(a,b,d,c);else doit(b,c,a,d);
}
uint Now[1000005],Pre[1000005],Nxt[1000005];
bol Onit[1000005];
voi upd(uint p,uint len)
{
    if(len<4)exit(233);
    if(len==4){upd4(p[Now],p[Nxt][Now],p[Nxt][Nxt][Now],p[Pre][Now]);return;}
    p=p[Nxt];
    while(p[Now]==p[Nxt][Now]||p[Now]==p[Nxt][Nxt][Now]||p[Now]==p[Pre][Now]
        ||p[Nxt][Now]==p[Nxt][Nxt][Now]||p[Nxt][Now]==p[Pre][Now]||p[Nxt][Nxt][Now]==p[Pre][Now]
        ||Onit[std::min(p[Pre][Now],p[Nxt][Nxt][Now])*n+std::max(p[Pre][Now],p[Nxt][Nxt][Now])])p=p[Nxt];
    uint a=p[Now],b=p[Nxt][Now],c=p[Nxt][Nxt][Now],d=p[Pre][Now];p[Pre][Nxt]=p[Nxt][Nxt],p[Nxt][Nxt][Pre]=p[Pre];
    if(B[a][b]==B[c][d])upd4(a,b,c,d),upd(p[Pre],len-2);else upd(p[Pre],len-2),upd4(a,b,c,d);
}
int main()
{
#ifdef MYEE
    freopen("QAQ.in","r",stdin);
    freopen("QAQ.out","w",stdout);
#else
#endif
    std::mt19937 rng(114514);
    scanf("%u%u",&n,&m);
    for(uint i=0,u,v;i<m;i++)scanf("%u%u",&u,&v),u--,v--,B[u][v]=B[v][u]=true;
    for(uint i=0,u,v;i<m;i++)scanf("%u%u",&u,&v),u--,v--,B2[u][v]=B2[v][u]=true;
    while(true)
    {
        bol f=true;
        for(uint e=0;e<n*n;e++)Tp[e]=0;
        for(uint i=0;i<n;i++)
        {
            std::vector<uint>X,Y;
            for(uint j=0;j<n;j++)if(B[i][j]!=B2[i][j])(B[i][j]?X:Y).push_back(j);
            if(X.size()!=Y.size())return puts("-1"),0;
            for(uint j=0,a,b;j<X.size();j++)
                a=std::min(i,X[j])*n+std::max(i,X[j]),
                b=std::min(i,Y[j])*n+std::max(i,Y[j]),
                E[Tp[a]++][a]=b,E[Tp[b]++][b]=a,f=false;
        }
        if(f)break;
        static uint R[2005];for(uint j=0;j<n*2;j++)R[j]=-1;
        for(uint e=0;e<n*n;e++)if(Tp[e]&&!G[e])
        {
            std::vector<uint>Q{e},T;
            do G[Q.back()]=true,Q.push_back(E[Q.size()==1||Q[Q.size()-2]==E[0][Q.back()]][Q.back()]);while(Q.back()!=e);
            for(uint i=0;i+1<Q.size();i++)Q[i]=Q[i]/n==Q[i+1]/n||Q[i]/n==Q[i+1]%n?Q[i]/n:Q[i]%n;
            Q.pop_back();
            if(rng()&1)std::reverse(Q.begin(),Q.end());
            Q.push_back(Q[0]);
            for(auto q:Q)if(~R[q<<1|(T.size()&1)])
            {
                uint f=R[q<<1|(T.size()&1)];
                uint len=T.size()-f;
                for(uint t=0;t<len;t++)Now[t]=T[t+f],Pre[t]=t?t-1:len-1,Nxt[t]=t==len-1?0:t+1;
                for(uint t=0;t<len;t++)Onit[std::min(Now[t],Now[(t+1)%len])*n+std::max(Now[t],Now[(t+1)%len])]=true;
                upd(0,len);
                for(uint t=0;t<len;t++)Onit[std::min(Now[t],Now[(t+1)%len])*n+std::max(Now[t],Now[(t+1)%len])]=false;
                for(uint t=f+1;t<T.size();t++)R[T[t]<<1|(t&1)]=-1;
                T.resize(f+1);
            }
            else R[q<<1|(T.size()&1)]=T.size(),T.push_back(q);
            R[T[0]<<1]=-1;
        }
    }
    for(uint i=0;i<n;i++)for(uint j=0;j<n;j++)
        if(B[i][j]!=B2[i][j])exit(233);
    printf("%u\n",tp);
    for(uint i=0;i<tp;i++)
        printf("%u %u %u %u\n",Ops[0][i]+1,Ops[1][i]+1,Ops[2][i]+1,Ops[3][i]+1);
    // for(uint i=0;i<n;i++,putchar('\n'))
    //     for(uint j=0;j<n;j++)putchar("01"[B[i][j]]);
    // for(uint i=0;i<n;i++,putchar('\n'))
    //     for(uint j=0;j<n;j++)putchar("01"[B2[i][j]]);
    return 0;
}

// 那就是希望。
// 即便需要取模,也是光明。

详细

Test #1:

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

input:

4 2
1 2
3 4
1 3
2 4

output:

1
3 4 1 2

result:

ok n=4

Test #2:

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

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
3 5 1 6
6 4 1 2

result:

ok n=6

Test #3:

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

input:

4 0

output:

0

result:

ok n=4

Test #4:

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

input:

10 0

output:

0

result:

ok n=10

Test #5:

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

input:

100 0

output:

0

result:

ok n=100

Test #6:

score: 0
Accepted
time: 3ms
memory: 11196kb

input:

1000 0

output:

0

result:

ok n=1000

Test #7:

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

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

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

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: 72ms
memory: 15048kb

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: 75ms
memory: 14972kb

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

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

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

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

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

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

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

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: 53ms
memory: 13604kb

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: 4ms
memory: 14756kb

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

input:

4 1
4 1
4 1

output:

0

result:

ok n=4

Test #22:

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

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

input:

6 1
3 1
1 2

output:

-1

result:

ok n=6

Test #24:

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

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:

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

result:

ok n=10

Test #25:

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

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
8 7 9 1
1 7 2 10
3 8 4 5

result:

ok n=10

Test #26:

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

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

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:

99
18 27 38 6
6 27 39 8
45 38 30 6
36 30 19 6
11 19 14 6
10 47 46 6
6 47 44 15
8 46 38 6
3 28 44 5
5 28 11 2
7 28 34 9
4 15 34 8
8 28 34 12
17 35 34 4
23 37 45 30
30 35 45 31
5 34 45 23
26 7 1 6
6 43 1 10
10 45 1 25
25 37 1 39
39 36 1 32
32 35 1 33
33 8 1 20
20 5 1 8
36 7 6 44
45 11 7 44
44 28 35 48...

result:

ok n=50

Test #28:

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

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

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:

124
18 5 1 20
29 2 1 18
18 9 1 12
12 4 1 24
20 24 28 18
31 20 13 18
36 25 20 18
18 25 7 29
30 13 24 18
18 26 16 12
12 22 10 29
39 7 10 40
40 3 10 25
25 9 10 20
29 6 10 39
18 37 10 12
9 6 1 12
38 10 1 9
3 44 47 5
11 40 47 25
25 44 47 39
29 15 34 10
12 15 18 29
13 29 27 26
26 37 27 40
40 35 27 29
34 3...

result:

ok n=50

Test #30:

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

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: 3ms
memory: 25648kb

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:

509
11 4 5 25
3 13 19 27
11 13 2 3
20 11 10 6
13 3 10 20
24 100 99 37
24 98 90 44
32 77 99 33
11 97 99 39
39 100 99 47
33 91 99 11
35 90 99 32
42 73 99 35
41 89 99 39
26 97 99 54
54 100 99 49
39 94 99 26
46 77 99 41
29 48 84 14
14 83 84 5
51 76 84 63
5 99 84 51
64 90 84 56
44 73 84 38
38 76 84 59
59...

result:

ok n=100

Test #32:

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

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

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:

336
60 4 1 85
85 8 1 99
99 2 1 86
45 5 6 28
85 10 6 45
87 79 66 26
21 85 66 15
15 99 66 12
26 92 66 21
92 72 66 87
88 66 54 17
17 85 54 11
11 43 54 24
79 54 9 47
47 43 9 61
61 26 9 44
69 21 9 79
37 6 2 67
67 9 2 34
67 98 97 45
82 97 99 19
26 62 50 34
86 22 20 93
93 45 20 96
96 99 20 16
16 50 20 42
2...

result:

ok n=100

Test #34:

score: 0
Accepted
time: 27ms
memory: 14056kb

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: 30ms
memory: 11728kb

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: 74ms
memory: 31664kb

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:

75663
3 23 45 12
14 21 45 20
12 26 45 14
5 48 45 3
32 42 45 4
40 19 33 4
4 36 55 2
6 36 44 4
20 44 19 4
64 33 65 4
47 65 42 4
21 168 189 5
5 168 207 6
38 109 61 4
5 178 214 4
4 178 198 3
22 214 224 4
31 224 163 4
42 163 231 4
43 231 109 4
45 61 111 4
41 111 110 4
12 110 120 4
36 239 276 35
35 252 27...

result:

ok n=1000

Test #37:

score: 0
Accepted
time: 19ms
memory: 16328kb

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: 38ms
memory: 35268kb

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:

34208
71 234 319 93
123 240 319 147
147 266 319 168
109 210 319 123
93 219 319 109
92 245 319 71
56 319 251 48
122 334 319 48
48 370 324 81
72 370 334 48
15 27 12 22
38 79 27 22
53 127 35 22
22 212 400 48
58 212 165 22
54 165 124 22
43 124 127 22
47 35 44 22
35 44 49 22
26 49 79 22
22 407 440 17
103...

result:

ok n=700

Test #39:

score: 0
Accepted
time: 38ms
memory: 28972kb

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:

27673
6 12 1 5
18 17 1 12
12 42 1 33
33 47 1 42
47 20 1 27
27 3 1 2
1 3 14 27
19 35 1 47
42 21 1 19
5 29 1 18
186 141 260 152
189 37 69 204
221 32 69 301
205 128 69 163
186 293 69 196
209 138 69 188
187 226 69 209
196 279 69 187
163 161 69 186
211 42 69 205
301 26 69 211
102 18 69 221
204 24 69 102
...

result:

ok n=700

Test #40:

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

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:

26779
6 5 13 2
36 2 13 6
45 13 19 2
5 19 21 2
44 33 10 32
32 57 10 42
42 46 10 49
49 12 10 33
33 14 10 12
85 23 10 60
88 16 10 85
67 13 10 88
45 7 10 67
12 11 10 45
63 3 1 173
240 49 1 278
278 44 1 408
408 57 1 426
184 12 1 240
15 45 5 25
450 8 5 507
403 3 5 450
68 1 5 403
25 10 5 68
637 50 61 622
6...

result:

ok n=700

Test #41:

score: 0
Accepted
time: 3ms
memory: 12056kb

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: 8ms
memory: 11804kb

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

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

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:

48591
4 2 1 11
31 23 5 38
38 4 5 28
28 2 5 19
19 9 5 32
2 15 26 4
2 34 12 13
10 3 34 13
13 3 2 40
16 8 2 13
33 10 5 74
24 2 5 33
164 21 10 170
144 13 10 135
176 18 10 68
135 9 10 176
192 16 10 144
170 4 10 192
48 401 356 44
125 410 468 44
177 275 300 44
119 403 334 44
140 422 403 44
79 385 422 44
44...

result:

ok n=800

Test #45:

score: 0
Accepted
time: 72ms
memory: 32592kb

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:

2084
16 769 896 11
25 353 627 6
6 353 71 10
23 627 896 6
14 472 765 8
8 627 765 21
544 523 510 138
71 490 501 627
544 490 571 71
896 403 426 765
138 466 502 71
627 463 457 71
71 367 328 544
896 367 463 71
628 457 427 71
639 427 466 71
138 265 284 721
138 259 295 353
639 393 441 721
721 393 415 628
8...

result:

ok n=900

Test #46:

score: 0
Accepted
time: 29ms
memory: 14700kb

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: 11ms
memory: 13056kb

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: 66ms
memory: 32760kb

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:

6870
303 10 1 287
287 2 1 116
150 3 1 387
406 2 1 150
481 3 6 506
353 430 303 386
386 283 303 426
426 387 303 398
398 445 303 400
400 359 303 356
384 541 303 353
435 232 259 630
670 342 315 582
488 299 275 527
658 339 275 488
682 315 275 658
706 275 237 445
4 422 279 8
8 422 417 43
123 379 348 43
1 ...

result:

ok n=900

Test #49:

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

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:

40543
66 12 4 85
85 24 4 99
99 9 4 146
122 26 82 126
113 78 26 126
126 182 223 111
154 182 78 126
305 483 468 247
256 696 758 307
382 696 713 256
403 713 693 256
207 693 581 256
383 798 838 307
433 789 838 383
289 862 899 355
377 838 914 289
351 889 904 262
262 896 916 320
328 896 889 262
18 864 886...

result:

ok n=1000

Test #50:

score: 0
Accepted
time: 75ms
memory: 32916kb

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:

4252
2 77 112 1
8 6 11 1
1 6 107 9
4 11 77 1
112 315 363 280
112 356 300 6
6 356 402 280
387 374 402 595
676 396 484 580
387 375 396 580
580 444 420 884
538 444 375 580
804 439 426 814
814 439 413 884
580 397 448 814
595 385 363 914
914 385 400 902
818 85 398 783
813 107 387 788
788 595 387 779
776 ...

result:

ok n=1000