QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#97655#6329. Colorful GraphyangjlAC ✓1022ms14756kbC++204.6kb2023-04-17 20:09:072023-04-17 20:09:07

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-04-17 20:09:07]
  • 评测
  • 测评结果:AC
  • 用时:1022ms
  • 内存:14756kb
  • [2023-04-17 20:09:07]
  • 提交

answer

#include<iostream>
#include<cmath>
#include<cstring>
#include<cassert>
#include<string>
#include<queue>
#include<deque>
#include<stack>
#include<algorithm>
#include<unordered_map>
#include<map>
#include<vector>
#include<set>
#include<unordered_set>
#include<bitset>
#include<climits>
#include<numeric>
#include<functional>
#include<iomanip>
#include<random>
#ifdef YJL
#include<debug.h>
#else
#define debug(args...)0
#define debug_n(a,n)0
#endif
using namespace std;
typedef long long ll;

const int N = 2e5 + 10;
namespace Graph {
	struct ty {
		int t,l,next;
	} edge[int(2e6)+10];
	int en,head[N];
	void initGraph(int n) {
		fill_n(head+1,n,-1),en=0;
	}
	void addEdge(int x,int y,int z=0) {
		edge[en]={y,z,head[x]};
		head[x]=en++;
	}
}
int n,m;
int dfn[N], low[N], dn;
int sta[N], insta[N], top;
int color[N], cn;
void tarjan(int u) {
	using namespace Graph;
	dfn[u]=low[u]=++dn;
	sta[++top]=u;
	insta[u]=1;
	for (int i=head[u]; ~i; i=edge[i].next) {
		int v=edge[i].t;
		if (!dfn[v]) {
			tarjan(v);
			low[u]=min(low[u], low[v]);
		} else if (insta[v])// 返祖边和横插边
			low[u]=min(low[u], dfn[v]);
	}
	if (dfn[u]==low[u]) {
		++cn;
		for (int v=-1; v!=u;) {
			v=sta[top--];
			insta[v]=0;
			color[v]=cn;
		}
	}
}
void converge(int n) {
	fill_n(dfn+1,n,0), dn=cn=0;
	for(int i=1; i<=n; ++i)
		if(!dfn[i])
			tarjan(i);
}

namespace NetFlow {
    using T=int;
	const T INF=T(1)<<(sizeof(T)*8-2);
    const int _V=N;
    const int _E=1000000*2+10;
	int s0=_V-1,t0=s0-1;
    int head[_V],en;
	struct ty {
		int t, next;
        T l;
	} edge[_E];
    void initGraph() {
		memset(head, -1, sizeof(head)), en=0;
	}
	void addEdge(int x, int y, T z=0) {
		edge[en]= {y, head[x], z};
        head[x]=en++;
		if(en&1) addEdge(y, x);
	}
    int dis[_V];
	bool bfs(int s,int t) {
        memset(dis,-1,sizeof dis);
	    queue<int> q;
        dis[s]=0;
		q.push(s);
		while(q.size()) {
			int u=q.front();
			q.pop();
			for (int i=head[u]; ~i; i=edge[i].next) {
				int v=edge[i].t;
				if(dis[v]==-1&&edge[i].l>0) {
					dis[v]=dis[u]+1;
					q.push(v);
				}
			}
		}
		return dis[t]!=-1;
	}
	T dfs(int u, T flow,int t) {
		if(u==t) return flow;
		T ans=flow;
		for (int i=head[u]; ~i&&ans; i=edge[i].next) {
			int v=edge[i].t;
			if (dis[v]==dis[u]+1&&edge[i].l>0) {
				T tmp=dfs(v, min(edge[i].l, ans), t);
				edge[i].l-=tmp;
				edge[i^1].l+=tmp;
				ans-=tmp;
			}
		}
		if(ans==flow) dis[u]=-1;
		return flow-ans;
	}
	T dinic(int s,int t) {
		T ans=0;
		while(bfs(s,t)) ans+=dfs(s,INF,t);
		return ans;
	}
    void printGraph() {
        auto dot=[&](int u)->string{
            if(u==s0) return "S";
            if(u==t0) return "T";
            return to_string(u);
        };
		cerr<<endl<<"Graph with "<<en<<" edges:"<<endl;
        for(int i=0; i<en; ++i) {
            int u=edge[i^1].t, v=edge[i].t;
            T w=edge[i].l;
            cerr<<dot(u)<<" -> "<<dot(v)<<" : ";
            cerr<<(w==INF?"INF":to_string(w))<<endl;
        }
    }
}

int main() {
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cin>>n>>m;
    Graph::initGraph(n);
    vector<pair<int,int>> edg;
    while(m--) {
        int u,v;
        cin>>u>>v;
        Graph::addEdge(u,v);
        edg.emplace_back(u,v);
    }
    converge(n);
	debug_n(color+1,n);
    
    // 缩点之后跑网络流
	using namespace NetFlow;
	initGraph();
	for(int i=1; i<=cn; ++i) {
		addEdge(s0,i+cn,1);
		addEdge(i,t0,1);
	}
	for(auto [u,v]:edg) {
		int x=color[u];
		int y=color[v];
		if(x==y) continue;
		addEdge(x+cn,y,1);
		addEdge(x+cn,y+cn,INF);// 向所有能到的点连边
	}

	int flow=dinic(s0,t0);

	vector<int> paint(cn+1);
	for(int u=1,c=0; u<=cn; ++u) {
		// 找前驱
		int flag=0;
		for(int i=head[u]; ~i; i=edge[i].next) {
			int v=edge[i].t;
			auto w=edge[i].l;
			if(v!=s0 && (i&1) && w==1) {
				flag=1;
				break;
			}
		}
		if(flag) continue;
		// debug(u);

		// 没有前驱,标颜色
		paint[u]=++c;
		for(int now=u; now;) {
			debug(now);
			int nxt=0;
			for(int i=head[now+cn]; ~i; i=edge[i].next) {
				if(i&1) continue;
				int v=edge[i].t, w=edge[i].l;
				if(edge[i^1].l==0) continue;
				debug(now,v);

				// vis[i]=1;
				// head[now+cn]=edge[i].next;
				edge[i].l+=1;
				edge[i^1].l-=1;
				if(v>cn) {
					nxt=v-cn;
					break;
				}else if(paint[v]) {
					continue;
				}else {
					paint[v]=c;
					nxt=v;
					break;
				}
			}
			now=nxt;
		}
	}

	for(int i=1; i<=n; ++i) 
		cout<<paint[color[i]]<<" ";
    return 0;
}
/*




*/

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

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

output:

2 2 2 1 2 

result:

ok AC

Test #2:

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

input:

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

output:

2 2 1 2 2 

result:

ok AC

Test #3:

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

input:

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

output:

1 1 1 1 2 1 3 4 

result:

ok AC

Test #4:

score: 0
Accepted
time: 723ms
memory: 11316kb

input:

7000 6999
4365 4296
2980 3141
6820 4995
4781 24
2416 5844
2940 2675
3293 2163
3853 5356
262 6706
1985 1497
5241 3803
353 1624
5838 4708
5452 3019
2029 6161
3849 4219
1095 1453
4268 4567
1184 1857
2911 3977
1662 2751
6353 6496
2002 6628
1407 4623
425 1331
4445 4277
1259 3165
4994 1044
2756 5788
5496 ...

output:

1 1644 1337 1548 368 2 3 1374 1096 246 409 1378 4 1594 1519 5 1235 6 1049 1726 1253 1166 1616 1498 1649 7 8 755 1417 9 580 1185 10 11 1366 1366 1465 12 1640 13 226 1137 14 1217 15 1064 16 691 17 18 872 19 459 1396 1629 1564 901 20 720 21 1176 1187 267 546 1593 22 1694 1197 1508 23 24 1041 25 770 26 ...

result:

ok AC

Test #5:

score: 0
Accepted
time: 886ms
memory: 13012kb

input:

7000 6999
4832 1603
5984 6985
5355 3687
6007 2170
5984 3486
3267 2189
538 2123
4343 4553
5855 6168
5984 257
4239 2304
5984 2063
3298 1869
5984 6353
5984 2018
5984 5387
5984 3382
3164 3978
2690 2816
4810 2638
5984 3773
5984 1634
5984 2786
5984 3671
5984 5140
2943 5721
5984 414
1105 4060
3093 796
5984...

output:

246 236 1716 1869 611 361 1448 1663 2172 98 82 1472 1988 1060 1029 1 685 963 1217 4 2 621 239 1102 784 2092 1486 438 1552 766 670 770 965 1597 3 4 963 1351 2217 2199 5 2097 1147 6 488 7 2313 8 9 761 2316 801 31 2130 523 1741 10 11 12 13 2130 2221 14 132 1529 776 17 1717 1650 70 15 2035 1797 1215 16 ...

result:

ok AC

Test #6:

score: 0
Accepted
time: 1022ms
memory: 11232kb

input:

7000 6999
1649 5337
1701 3344
4394 2172
3330 39
5932 1141
5381 5340
5453 3300
125 2172
6810 5263
804 2172
6635 2172
676 4740
3015 1183
1710 5769
611 5915
3419 1581
2094 2172
4508 2172
6604 2433
6113 1466
1604 696
1518 1123
1287 2940
4825 2172
5130 4524
2693 2172
106 2172
5157 2172
3693 2172
5198 217...

output:

1 2 1870 2015 2231 3 2169 1250 614 4 1186 5 6 1432 1702 1805 7 1949 1176 644 1633 8 9 888 1783 2068 1603 1921 10 11 542 12 1000 1582 924 13 1923 1913 2240 14 2097 261 593 15 1949 1159 1649 2031 16 2289 1957 17 662 796 1640 2011 2011 18 1751 2329 19 2272 20 151 507 440 2113 1521 21 22 23 24 25 1256 1...

result:

ok AC

Test #7:

score: 0
Accepted
time: 187ms
memory: 14036kb

input:

7000 6999
2896 6321
881 2623
5058 2623
4833 2623
4669 2623
4781 5007
1447 2623
4781 4768
4781 3834
2758 4792
797 5055
3784 2623
4781 5510
6606 3040
597 3459
4136 2037
1291 3989
4781 837
4781 4379
5637 2053
1642 2665
4781 4664
4781 952
4924 2511
4781 4201
4781 2352
4781 5362
3901 197
137 2623
2706 19...

output:

1 1750 1750 1750 1750 1750 1750 2 1397 3 1750 1750 1750 1750 1750 308 203 1750 1750 4 406 1750 956 1144 384 247 323 744 5 6 1750 7 1750 1750 1750 1750 215 1525 1750 1052 1750 1750 872 1750 8 1750 9 1750 10 1750 1750 1750 11 12 1750 13 1750 1750 968 1750 14 1750 1750 1638 1750 15 1479 252 1750 8 1750...

result:

ok AC

Test #8:

score: 0
Accepted
time: 174ms
memory: 14536kb

input:

6999 6998
1269 3969
1269 2429
1269 2609
1269 2515
1269 6166
1269 6614
3108 1269
2105 1269
4670 1269
578 1269
4661 1269
1421 1269
2576 1269
6152 1269
1269 6636
3011 1269
305 1269
5189 1269
1683 1269
6861 1269
1269 5798
1499 1269
282 1269
914 1269
80 1269
677 1269
701 1269
1269 359
6521 1269
1269 1754...

output:

1 2 3 4 2427 5 6 833 2455 255 196 554 7 3066 8 9 10 2524 11 12 3375 13 14 808 15 16 17 18 19 1825 20 2433 21 22 306 23 1886 3041 24 2985 2529 25 26 2296 412 27 28 29 30 31 978 1948 7 32 3237 1105 33 34 35 36 37 2923 3480 38 104 667 163 39 40 41 2975 42 2770 1755 1397 43 44 708 45 46 1405 47 1120 193...

result:

ok AC

Test #9:

score: 0
Accepted
time: 4ms
memory: 10616kb

input:

7000 0

output:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ...

result:

ok AC

Test #10:

score: 0
Accepted
time: 4ms
memory: 14252kb

input:

7000 6999
3138 1903
3285 5919
6182 1430
1164 961
1577 6445
1390 3384
935 5723
6614 6387
4799 2877
3915 5128
5366 5455
2287 3941
2053 2326
4022 6993
488 2922
4327 4701
4674 3221
1666 4773
4356 3232
3888 937
4318 6942
577 1299
4491 1938
5154 1254
790 5532
4286 5478
2918 6725
2853 304
2554 5207
5140 77...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

ok AC

Test #11:

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

input:

7000 6999
33 3147
5877 4807
3116 4168
1651 2456
624 1740
6440 3058
6414 489
1023 2523
706 93
5523 598
4211 6063
3570 6840
6566 2971
6614 1907
5893 4389
4022 2527
5096 2345
4682 2134
188 5597
695 4285
1344 3832
3534 879
6574 6252
3759 3444
2167 85
5630 6600
3158 4404
6389 689
4871 6719
4295 6008
3437...

output:

44 50 70 70 40 40 70 67 70 70 70 70 70 1 70 67 70 41 70 70 20 70 50 70 70 70 70 70 70 70 70 70 2 70 70 67 7 28 70 70 70 40 16 70 3 70 20 70 70 67 70 70 70 70 70 67 70 70 70 48 20 7 7 70 70 70 70 71 50 70 65 50 70 70 40 70 53 71 50 70 44 27 70 70 13 55 70 70 27 70 50 70 70 70 70 31 4 70 13 70 70 70 7...

result:

ok AC

Test #12:

score: 0
Accepted
time: 6ms
memory: 12932kb

input:

7000 6999
1247 5150
3318 2013
5686 1615
6145 6521
5717 94
2787 3443
2648 4875
5332 5934
1897 1651
4640 2183
1750 6964
148 5228
745 2814
474 1165
496 6735
180 3412
2723 3374
6200 4361
497 5328
1928 5998
5648 1261
5090 4723
1715 706
2499 897
6569 6204
6039 2787
2882 5044
5767 4256
975 1877
1857 4453
6...

output:

274 1 274 62 274 274 72 274 218 274 16 259 74 274 274 75 274 274 274 274 274 274 274 274 274 274 213 274 130 2 274 274 274 274 274 274 195 274 115 274 274 274 215 274 274 62 274 274 274 176 232 3 274 274 274 274 274 49 16 274 62 84 274 274 274 259 274 274 20 104 274 268 130 274 274 274 274 274 4 68 ...

result:

ok AC

Test #13:

score: 0
Accepted
time: 7ms
memory: 14220kb

input:

7000 6999
2349 199
5295 2831
6143 2006
3212 3198
6956 3807
732 4838
5069 1027
5744 3479
6 5301
5687 4452
4201 1151
1353 4884
548 3506
6094 4799
4950 6939
5234 817
652 1314
979 6984
5771 1851
398 1322
2294 4298
847 3929
6833 183
2904 6745
4797 3874
94 315
4282 582
6591 5037
962 147
799 908
2593 5547
...

output:

1049 1 105 1049 1049 354 880 565 666 259 385 1049 1034 348 955 1049 668 676 2 410 998 1049 1049 3 846 1049 1049 4 451 1049 308 769 741 264 1049 445 1049 1011 622 236 934 1049 393 764 1049 5 992 1049 1049 6 845 466 7 8 961 9 259 414 10 759 1049 1049 277 1049 1049 889 105 374 92 376 1049 1049 1049 104...

result:

ok AC

Test #14:

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

input:

7000 6999
3409 1629
2076 6412
4997 1078
6320 626
4501 1104
4173 1774
5507 2375
2299 5115
4321 127
1192 6635
1909 3398
2972 499
862 5024
421 2931
861 1536
902 3813
659 4514
1843 3035
3669 1228
1724 1880
34 706
133 3468
6116 585
5073 1461
5667 3405
715 4834
6915 3007
1736 6108
3264 2870
2393 6474
2108...

output:

815 2604 1 1647 2604 2 1001 2604 1867 3 1554 4 2604 5 6 2421 136 2604 999 1808 2604 7 2604 1684 8 2604 9 10 11 12 2604 13 2604 14 97 933 1995 1471 15 1080 2217 1323 296 576 2604 90 292 509 16 2364 620 1356 2604 2104 2604 2453 885 2520 17 18 2251 2604 901 19 2382 20 125 21 2302 22 732 1149 23 1469 11...

result:

ok AC

Test #15:

score: 0
Accepted
time: 15ms
memory: 13156kb

input:

7000 7000
2048 5882
6801 2408
3225 2608
1441 5079
497 6253
557 5589
2535 6257
4800 2595
4713 1286
4759 6636
4303 4296
6195 2048
6994 2987
1249 3044
1036 10
6472 2076
1996 1086
1279 1486
6100 369
4797 3437
2493 4576
2944 5601
197 5582
5488 5035
4023 659
2651 5024
2257 5710
1001 3941
446 4815
687 702
...

output:

1 2 3 4 5 6 1983 9 10 554 11 352 13 1876 1943 1865 21 22 826 2645 1027 23 764 2339 24 165 478 1575 27 1317 950 33 2039 1579 1587 35 36 37 1417 38 39 381 40 1133 1055 41 42 687 1390 259 44 372 45 1843 1247 1469 47 1358 642 1037 48 655 1405 50 861 51 2798 2886 52 1424 56 687 1772 194 57 1771 59 2567 6...

result:

ok AC

Test #16:

score: 0
Accepted
time: 18ms
memory: 14224kb

input:

6993 7000
6927 2941
6385 1428
6914 2553
2474 4268
2068 1640
2298 6960
6201 1806
4912 59
4407 5504
1595 6868
6378 2515
3713 3724
2995 2589
2314 2932
4042 431
6322 4178
5947 6850
6192 735
3802 1043
4982 1575
311 6496
5006 3191
6473 3084
2387 4706
6632 5901
5113 3066
5248 1274
5671 717
1311 4261
1960 3...

output:

1782 1201 7 2570 1860 8 2262 9 1831 10 11 633 1537 18 19 22 1175 23 1619 1356 25 26 900 2499 479 1316 901 1335 2828 912 29 30 31 819 32 38 1556 2609 33 1335 44 45 1832 2848 53 2806 1272 46 47 2775 48 1653 51 381 52 53 54 828 2923 299 59 1853 313 2340 55 2387 997 57 58 2728 59 825 60 2681 74 1938 75 ...

result:

ok AC

Test #17:

score: 0
Accepted
time: 16ms
memory: 11064kb

input:

6930 7000
3746 2945
3523 6758
4109 1106
2732 5415
2423 844
3702 6309
6503 5362
5997 6294
5688 1396
4842 1764
4780 4521
1254 826
37 4653
2138 2358
6345 1223
1385 2341
5261 5867
4815 2918
4209 696
4235 2314
3680 2919
5605 5155
6643 3391
2691 1418
6289 2093
1970 1804
828 5237
4025 1111
1164 5519
5889 2...

output:

1 3 4 2626 1339 1327 6 7 2536 2879 690 498 2526 8 9 12 13 1428 2334 1837 1026 14 1926 2111 15 16 2821 17 1312 19 1841 21 22 1396 2152 2716 23 2668 54 24 25 26 2721 27 1928 2494 28 2400 2802 2033 2570 31 814 32 40 41 43 44 334 162 1813 45 723 2427 1301 46 1930 1351 1083 2469 48 1728 49 50 51 176 891 ...

result:

ok AC

Test #18:

score: 0
Accepted
time: 16ms
memory: 13032kb

input:

6300 7000
5921 5466
723 5843
1084 3134
3865 5742
5492 2885
328 4408
6055 4074
3702 2240
1342 2353
295 734
553 48
4454 2980
1248 4460
5023 19
2784 441
105 844
6048 1773
4840 5260
3910 1292
5578 2864
4978 3116
6182 4962
2575 1661
5030 435
5861 4709
5033 358
1746 5816
5877 3921
2678 5679
1784 33
207 59...

output:

297 1 2149 2 1103 3 199 162 4 213 5 6 2319 7 8 9 10 12 145 315 13 14 1654 15 792 16 997 813 2207 2385 1158 1146 2355 18 19 20 1991 678 1360 306 1318 2101 1248 383 49 21 1694 1180 22 1610 1876 1880 26 20 607 29 30 1228 1546 1416 2060 2384 33 34 35 36 37 2051 623 279 1054 38 39 1106 40 2157 331 41 42 ...

result:

ok AC

Test #19:

score: 0
Accepted
time: 4ms
memory: 10564kb

input:

2800 7000
218 2670
1436 2268
38 2781
55 783
549 1627
660 1609
2268 2645
1376 1395
2747 71
785 1451
1096 2633
2655 2557
1569 307
16 56
1993 2751
1154 2760
478 2452
1841 2764
155 1781
215 1432
1788 2548
193 2665
167 1038
2425 2314
439 1615
269 1187
1222 245
1638 2016
2352 1511
2333 1564
1667 2576
1751...

output:

1 254 254 254 14 254 254 2 254 254 254 254 254 254 254 254 254 254 3 254 254 254 254 28 254 254 254 254 254 254 218 4 254 254 254 241 254 254 254 254 254 254 254 254 186 254 254 254 254 5 254 42 254 254 254 254 254 254 254 254 254 6 254 7 254 254 29 176 71 254 254 254 8 254 254 9 254 254 254 254 254...

result:

ok AC

Test #20:

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

input:

7000 7000
4828 3840
4148 2678
1645 2954
5516 1204
4664 285
904 1978
1434 1688
1902 5205
1324 4512
1722 1246
6724 5227
524 196
937 6286
6609 4724
5408 5610
4405 2463
5493 1567
2625 2894
2378 3685
5399 6872
6475 6546
5697 1265
1811 1314
2347 3005
6245 271
2414 434
3492 6948
4447 599
793 6107
464 5353
...

output:

1 2569 2444 2 1699 2907 3 1719 4 5 310 123 1897 2716 7 3186 2896 3109 8 1381 1686 9 2872 10 1725 1725 1589 11 12 14 1366 1252 15 2243 3358 16 17 2376 18 409 19 2191 20 22 717 23 24 2821 25 1895 1356 26 27 632 28 29 3443 30 2785 31 32 33 405 2588 34 3308 35 2431 38 1268 39 40 41 42 302 43 829 489 226...

result:

ok AC

Test #21:

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

input:

6993 7000
1576 5558
2853 3183
212 2572
1001 75
3386 6483
401 22
489 6768
6520 1684
6439 6188
3810 6414
4088 1924
371 1666
2822 410
5664 1676
1043 1365
384 2688
4179 6357
6466 4630
2829 4371
116 6817
1535 6172
751 5740
499 2484
2013 4576
6556 670
6177 3847
5344 4280
6103 1055
496 4934
6639 217
6606 4...

output:

2755 2 4 1173 5 1065 673 1871 6 7 8 9 10 11 2234 2491 1629 12 3639 1952 13 1700 3220 1210 2506 2022 14 3585 509 15 16 2001 1431 17 18 19 704 20 951 21 1929 3158 22 23 1951 24 25 26 3102 2320 27 520 3573 28 29 30 3108 1627 1470 1037 31 35 36 3368 2025 181 264 37 2788 3215 38 39 40 42 2920 43 44 3316 ...

result:

ok AC

Test #22:

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

input:

6930 7000
2378 5636
2953 3870
897 2126
112 1756
3302 5114
4591 5593
5408 4899
1204 6313
6254 2214
5360 6680
2354 5865
5959 5969
1628 5317
6396 1006
2402 1767
1921 3373
3758 312
2167 5711
4119 6585
19 3951
1714 1206
3754 4376
4516 307
6312 165
5721 2470
4828 4842
4520 4310
1922 4946
2006 3856
1218 58...

output:

3603 1 2 3 4 325 5 3492 6 7 63 8 2851 1056 11 12 14 1869 15 16 2641 3301 17 485 19 734 2644 3081 1899 20 21 22 3099 1769 24 1822 25 3047 26 27 29 30 31 32 1805 33 34 38 39 40 3538 996 41 42 43 44 45 46 47 48 49 798 50 51 2937 2590 53 1586 54 56 100 57 2322 405 58 2505 59 60 61 1349 148 63 64 68 1253...

result:

ok AC

Test #23:

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

input:

6300 7000
1562 45
1716 2699
5291 4828
5063 4588
5888 4130
5901 6109
1476 921
3390 5892
5425 3782
824 5679
2278 6102
6146 5556
4874 2115
2842 2803
1963 5131
3736 2611
320 5272
758 5667
4087 228
5139 760
1812 2968
2897 6117
277 387
336 1322
4319 4597
608 4481
6182 3050
4333 3570
401 1662
3085 3197
537...

output:

1 2 1182 1705 3 2013 2833 4 72 5 1310 6 9 1762 1359 10 2832 2407 2490 11 2430 12 13 14 985 15 1928 16 2024 2056 2464 17 310 2434 2136 1351 20 21 1798 920 23 739 24 25 26 1360 27 479 28 3028 29 2202 1557 30 50 758 31 32 1725 33 34 359 2497 1935 1767 2025 36 38 3108 41 43 44 1579 47 48 49 50 52 2780 1...

result:

ok AC

Test #24:

score: 0
Accepted
time: 8ms
memory: 12888kb

input:

2800 7000
931 1154
1783 1159
2515 1596
1734 1277
825 430
938 208
288 684
970 2075
618 2411
2690 500
223 2162
2093 2765
172 1029
832 1571
89 2333
2301 981
1354 1094
1989 137
2340 1804
2600 1249
1714 2343
1043 2738
1375 1239
804 2578
424 1572
568 1945
2233 297
1890 519
1475 944
2732 1123
2012 927
2232...

output:

369 1 456 2 466 5 754 6 366 7 146 399 121 504 8 574 133 782 117 825 51 216 284 10 476 14 767 45 11 492 12 13 491 14 17 18 19 122 379 20 21 28 2 791 22 701 24 523 25 750 26 27 28 157 579 29 666 346 30 31 541 32 812 523 370 33 35 205 757 748 345 278 284 39 262 552 80 638 808 424 812 41 88 452 292 452 ...

result:

ok AC

Test #25:

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

input:

52 41
18 31
2 5
22 32
1 50
50 29
9 32
44 27
45 17
26 24
18 30
28 25
38 28
5 47
49 38
23 50
8 3
16 24
29 46
7 52
30 38
33 32
39 32
3 18
50 44
1 35
49 37
18 24
29 6
20 39
40 45
33 28
51 52
26 40
38 43
52 45
39 40
42 34
6 45
32 19
20 52
34 28

output:

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

result:

ok AC

Test #26:

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

input:

291 56
117 283
21 277
128 22
245 45
8 223
150 129
16 15
224 163
288 76
218 238
25 233
100 262
244 101
76 207
286 80
164 238
165 283
133 251
23 235
22 280
65 205
8 30
66 76
232 90
251 287
80 62
58 218
285 225
247 199
149 34
219 16
286 221
174 248
20 58
169 69
229 119
178 216
152 147
148 189
116 207
7...

output:

1 44 2 3 4 5 6 8 9 10 11 12 13 14 190 190 15 16 17 18 78 114 19 20 21 22 23 24 25 8 26 27 28 29 30 31 32 33 34 35 36 37 38 39 207 40 41 42 43 44 45 46 47 48 49 50 51 18 52 53 54 71 55 56 57 58 59 60 148 61 62 64 65 66 67 243 68 69 70 71 72 73 74 75 76 77 78 79 80 199 81 82 83 84 85 86 63 87 88 89 21...

result:

ok AC

Test #27:

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

input:

26 295
19 5
19 13
10 2
14 13
19 24
20 13
9 3
18 11
13 25
13 14
24 6
1 2
25 6
6 13
7 25
1 9
2 8
6 8
13 18
2 7
11 9
14 12
21 19
17 23
8 14
3 5
22 8
8 3
25 5
24 21
10 3
23 13
24 20
3 21
23 18
7 15
24 18
18 21
18 4
8 12
13 9
12 1
14 9
18 20
9 22
10 25
3 26
2 14
5 20
1 24
24 1
23 6
18 6
21 11
19 4
24 25
...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 

result:

ok AC

Test #28:

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

input:

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

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 

result:

ok AC

Test #29:

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

input:

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

output:

2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 

result:

ok AC

Test #30:

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

input:

6 8
5 1
1 5
6 5
4 1
4 3
2 4
5 3
3 4

output:

2 1 2 2 2 2 

result:

ok AC

Test #31:

score: 0
Accepted
time: 176ms
memory: 13188kb

input:

7000 6999
6253 1991
6253 4600
1137 6253
1764 6253
6253 908
6253 2205
6253 213
6253 4399
6300 6253
4601 6253
6253 4884
6937 6253
6253 4070
2646 6253
1007 6253
6552 6253
6253 2115
6253 922
6223 6253
6253 2496
3522 6253
2050 6253
6253 763
6803 6253
6253 3847
2816 6253
6253 6297
6253 471
6253 3211
3203 ...

output:

1 2 1067 260 3 1720 4 3438 1756 5 6 595 2198 337 7 3158 8 9 657 10 11 3376 357 12 13 1287 14 2449 3461 940 2366 2488 15 16 17 1120 18 3114 3171 2949 2632 19 1379 20 2649 21 2798 22 23 24 2831 1099 25 26 27 3387 2174 1341 2369 1515 28 2912 2588 29 1250 30 31 233 3039 32 2606 33 34 2523 708 35 1850 36...

result:

ok AC