QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#56890#4811. Be CarefulKING_UT#TL 795ms44848kbC++203.8kb2022-10-21 19:41:272022-10-21 19:41:29

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-10-21 19:41:29]
  • 评测
  • 测评结果:TL
  • 用时:795ms
  • 内存:44848kb
  • [2022-10-21 19:41:27]
  • 提交

answer

#ifndef LOCAL
#pragma GCC optimize ("Ofast")
#pragma GCC optimize ("unroll-loops")
#endif
#include <bits/stdc++.h>
using namespace std;

using ll=long long;
//#define int ll

#define rng(i,a,b) for(int i=int(a);i<int(b);i++)
#define rep(i,b) rng(i,0,b)

#define gnr(i,a,b) for(int i=int(b)-1;i>=int(a);i--)
#define per(i,b) gnr(i,0,b)

#define bg begin()
#define ed end()
#define pb push_back
#define eb emplace_back
#define all(x) x.bg,x.ed
#define si(x) int(x.size())

template<class t>using vc=vector<t>;
template<class t>using vvc=vc<vc<t>>;

template<class t,class u>bool chmin(t&a,u b){
	if(a>b){a=b;return true;}
	else return false;
}
template<class t,class u>bool chmax(t&a,u b){
	if(a<b){a=b;return true;}
	else return false;
}

#define a first
#define b second
using pi=pair<int,int>;

bool add(vc<ll>&a,ll x){
	for(auto v:a)chmin(x,x^v);
	if(x)a.pb(x);
	return x;
}

using uint=unsigned;
const uint mod=998244353;
struct mint{
	uint v;
	mint(ll vv=0){s(vv%mod+mod);}
	mint& s(uint vv){
		v=vv<mod?vv:vv-mod;
		return *this;
	}
	mint operator -()const{return mint()-*this;}
	mint& operator+=(const mint&r){return s(v+r.v);}
	mint& operator-=(const mint&r){return s(v+mod-r.v);} 
	mint& operator*=(const mint&r){v=(unsigned ll)v*r.v%mod;return *this;}
	mint& operator/=(const mint&r){return *this*=r.inv();}
	
	mint operator+(const mint&r){return mint(*this)+=r;}
	mint operator-(const mint&r){return mint(*this)-=r;}
	mint operator*(const mint&r){return mint(*this)*=r;}
	mint operator/(const mint&r){return mint(*this)/=r;}
	
	mint pow(ll n)const{
		if(n<0)return inv().pow(-n);
		mint res(1),x(*this);
		while(n){
			if(n&1)res*=x;
			x*=x;
			n>>=1;
		}
		return res;
	}
	mint inv()const{return pow(mod-2);}
	
	bool operator<(mint r)const{return v<r.v;}
};

mint parity(int i){
	return i&1?-1:1;
}

using u128=unsigned __int128;

void slv(){
	int n;cin>>n;
	vvc<int> t(n);
	rep(_,n-1){
		int x,y;cin>>x>>y;
		x--;y--;
		t[x].pb(y);
		t[y].pb(x);
	}
	vvc<mint> dp(n,vc<mint>(n+1));
	vvc<mint> bin(n+1,vc<mint>(n+1));
	bin[0][0]=1;
	rep(i,n+1)rep(j,n+1){
		if(i)bin[i][j]+=bin[i-1][j];
		if(j)bin[i][j]+=bin[i][j-1];
	}
	vvc<mint> buf(n+1);
	rep(cnt,n+1){
		buf[cnt].resize(cnt+1);
		vc<mint> pn(n+1);
		rep(i,n+1)pn[i]=mint(i).pow(cnt);
		rep(hall,cnt+1){
			rep(c,hall+1){
				buf[cnt][hall]+=parity(c)*bin[hall-c][c]*pn[n-c];
			}
		}
	}
	const int Lmax=120;
	
	vc<pair<u128,mint>> cur,nx;
	vc<mint> z;
	
	auto dfs=[&](auto self,int v,int p)->void{
		vc<pi> sc;
		for(auto ch:t[v])if(ch!=p){
			self(self,ch,v);
			int s=0;
			rep(i,n+1)if(dp[ch][i].v)s=i;
			sc.eb(s,ch);
		}
		if(sc.empty()){
			fill(all(dp[v]),1);
			return;
		}
		
		sort(all(sc));
		int cut=0,num=0;
		for(auto&[s,c]:sc){
			if(s<n){
				if(si(sc)<=s){
					rng(i,si(sc)+1,s+1)dp[c][si(sc)]+=dp[c][i];
					s=si(sc);
				}
				num++;
				if(s<25){
					if(num>25||(1LL<<s)<(1LL<<num)*100000)cut=num;
				}
			}
		}
		z.clear();z.pb(1);
		rep(idx,cut){
			auto [s,c]=sc[idx];
			z.resize(1<<(s+1));
			per(bit,si(z)){
				mint w=z[bit];
				z[bit]=0;
				rep(i,s+1){
					z[bit|1<<i]+=w*dp[c][i];
				}
			}
		}
		
		cur.clear();
		rep(bit,si(z))if(z[bit].v)cur.eb(bit,z[bit]);
		int cnt=0;
		rng(idx,cut,si(sc)){
			auto [s,c]=sc[idx];
			if(s<n){
				nx.clear();
				for(auto [bit,val]:cur){
					rep(i,s+1){
						nx.eb(bit|u128(1)<<i,val*dp[c][i]);
					}
				}
				sort(all(nx));
				cur.clear();
				for(auto [bit,val]:nx){
					if(si(cur)&&cur.back().a==bit)cur.back().b+=val;
					else cur.eb(bit,val);
				}
			}else{
				cnt++;
			}
		}
		for(auto [bit,val]:cur){
			int hall=0;
			rep(i,n+1){
				if(i<Lmax&&(bit>>i&1)){//do nothing
				}else{
					dp[v][i]+=buf[cnt][hall]*val;
					hall++;
					if(hall>cnt)break;
				}
			}
		}
	};
	dfs(dfs,0,-1);
	rep(i,n+1)cout<<dp[0][i].v<<endl;
}

signed main(){
	cin.tie(0);
	ios::sync_with_stdio(0);
	
	slv();
}


詳細信息

Test #1:

score: 100
Accepted
time: 3ms
memory: 3516kb

input:

5
1 2
1 3
2 4
2 5

output:

55
127
34
0
0
0

result:

ok 6 numbers

Test #2:

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

input:

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

output:

69632
265534
133905
47790
12636
1944
0
0
0

result:

ok 9 numbers

Test #3:

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

input:

3
1 2
2 3

output:

1
3
0
0

result:

ok 4 number(s): "1 3 0 0"

Test #4:

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

input:

2
1 2

output:

2
1
0

result:

ok 3 number(s): "2 1 0"

Test #5:

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

input:

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

output:

1755647
612579511
359376750
200038110
104287680
49974120
21379680
7771680
2177280
362880
0

result:

ok 11 numbers

Test #6:

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

input:

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

output:

114358881
100000000
0
0
0
0
0
0
0
0
0

result:

ok 11 numbers

Test #7:

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

input:

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

output:

10
1
0
0
0
0
0
0
0
0
0

result:

ok 11 numbers

Test #8:

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

input:

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

output:

27510
31142
102399
0
0
0
0
0
0
0
0

result:

ok 11 numbers

Test #9:

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

input:

14
10 3
6 2
2 8
3 13
1 3
1 2
3 14
4 2
9 3
12 3
2 5
7 2
11 3

output:

930962871
780146137
253920328
0
0
0
0
0
0
0
0
0
0
0
0

result:

ok 15 numbers

Test #10:

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

input:

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

output:

572808214
694156482
763085092
958730326
465749894
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

result:

ok 21 numbers

Test #11:

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

input:

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

output:

778184256
242901486
277265229
855621813
564317020
918444623
408876720
314039448
593931360
0
0
0
0
0
0
0
0
0
0
0
0
0

result:

ok 22 numbers

Test #12:

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

input:

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

output:

142157709
5878180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

result:

ok 23 numbers

Test #13:

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

input:

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

output:

7619809
175546557
7936610
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

result:

ok 24 numbers

Test #14:

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

input:

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

output:

24
576
15025
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

result:

ok 25 numbers

Test #15:

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

input:

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

output:

24
7962624
236177977
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

result:

ok 25 numbers

Test #16:

score: 0
Accepted
time: 12ms
memory: 4072kb

input:

200
1 199
95 1
1 75
177 1
66 1
157 1
85 1
1 193
1 26
8 1
38 1
151 1
1 56
63 1
1 138
1 59
190 1
1 36
1 120
156 1
115 1
1 118
171 1
6 1
113 1
20 1
83 1
1 176
33 1
153 1
1 169
22 1
1 159
1 27
87 1
1 129
1 44
174 1
1 93
77 1
1 122
1 125
1 23
1 81
112 1
173 1
1 51
32 1
96 1
184 1
116 1
67 1
1 94
1 104
19...

output:

211917199
369375874
201944418
582671162
183066248
639389350
952947539
137147613
216366713
398936459
73236543
354059031
727857197
121548413
610762100
573534011
706945631
286154195
226699593
267771858
823273748
233587424
176942776
226493975
707601105
339075191
694353149
944734662
932707579
934386415
4...

result:

ok 201 numbers

Test #17:

score: 0
Accepted
time: 12ms
memory: 4164kb

input:

200
2 199
95 2
2 75
177 2
66 2
157 2
85 2
2 193
2 26
8 2
38 2
151 2
2 56
63 2
2 138
2 59
190 2
2 36
2 120
156 2
115 2
2 118
171 2
6 2
113 2
20 2
83 2
2 176
33 2
153 2
2 169
22 2
2 159
2 27
87 2
2 129
2 44
174 2
2 93
77 2
2 122
2 125
2 23
2 81
112 2
173 2
2 51
32 2
96 2
184 2
116 2
67 2
2 94
2 104
19...

output:

356210711
85910356
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0...

result:

ok 201 numbers

Test #18:

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

input:

200
198 199
95 94
74 75
177 176
66 65
157 156
85 84
192 193
25 26
8 7
38 37
151 150
55 56
63 62
137 138
58 59
190 189
35 36
119 120
156 155
115 114
117 118
171 170
6 5
113 112
20 19
83 82
175 176
33 32
153 152
168 169
22 21
158 159
26 27
87 86
128 129
43 44
174 173
92 93
77 76
121 122
124 125
22 23
...

output:

200
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 201 numbers

Test #19:

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

input:

199
176 177
115 116
47 48
29 30
120 119
7 8
93 94
158 159
118 117
28 29
185 186
133 132
24 25
76 77
55 54
68 69
96 95
65 66
172 171
114 113
127 128
91 92
106 107
70 71
135 136
83 82
187 188
146 147
23 22
36 37
195 196
166 165
81 80
109 108
8 9
21 20
41 42
125 124
46 47
87 86
133 134
38 37
174 173
12...

output:

1
199
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 200 numbers

Test #20:

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

input:

200
28 56
82 165
53 107
94 188
67 134
51 102
69 139
18 37
10 20
33 66
179 89
156 78
53 106
93 186
113 56
9 19
8 16
65 130
33 16
41 82
37 74
197 98
26 53
18 36
195 97
30 60
132 66
81 162
61 30
40 81
26 52
168 84
79 39
128 64
27 54
68 136
91 45
40 20
122 61
108 54
3 6
118 59
91 182
177 88
15 31
133 66...

output:

115157040
769068498
218666068
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 201 numbers

Test #21:

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

input:

200
51 153
118 39
23 68
26 9
163 54
7 2
21 62
174 58
125 42
50 150
15 46
32 95
186 62
53 158
7 22
29 88
165 55
47 140
9 3
18 6
20 59
131 44
90 30
149 50
35 12
11 32
15 5
4 13
110 37
160 53
3 10
51 152
154 51
37 12
94 31
119 40
49 146
196 65
16 48
46 138
4 12
116 39
74 25
27 81
105 35
61 182
18 55
19...

output:

96831322
243739289
839032182
347339046
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0...

result:

ok 201 numbers

Test #22:

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

input:

200
4 1
40 159
6 22
16 65
7 29
7 2
10 39
103 26
24 97
180 45
24 6
47 186
50 200
140 35
15 61
10 38
127 32
93 23
18 73
185 46
23 91
29 115
126 32
35 9
120 30
22 86
20 79
7 27
35 139
148 37
26 105
18 70
198 50
190 48
136 34
147 37
25 98
39 155
40 158
199 50
67 17
75 19
8 2
109 27
160 40
176 44
23 90
1...

output:

868579713
768926703
473674519
835466001
35818891
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0...

result:

ok 201 numbers

Test #23:

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

input:

200
124 21
53 9
5 28
33 199
145 24
20 119
24 140
31 5
86 15
30 176
12 69
172 29
116 20
14 3
11 66
3 15
75 13
13 76
144 24
79 13
72 12
80 14
1 7
70 12
23 135
178 30
33 197
30 179
9 55
27 159
18 3
25 151
11 62
18 107
82 14
30 180
23 138
31 182
16 94
97 16
93 16
173 29
32 190
10 2
8 2
18 104
6 35
111 1...

output:

298503373
243520600
324348437
233414660
209600209
600025942
504289019
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 201 numbers

Test #24:

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

input:

200
6 61
5 47
14 141
16 161
144 15
48 5
115 12
147 15
175 18
19 186
86 9
75 8
109 11
158 16
169 17
62 7
135 14
97 10
1 6
3 23
9 87
42 5
73 8
20 200
152 16
14 132
90 9
21 2
4 34
4 37
181 18
71 7
1 9
84 9
180 18
56 6
127 13
6 52
12 121
137 14
7 64
11 105
156 16
15 146
6 59
1 4
83 9
8 74
6 60
69 7
10 1...

output:

107615921
75193607
506753286
400364397
127708406
597309377
407829846
269700097
404852842
311884298
159659723
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0...

result:

ok 201 numbers

Test #25:

score: 0
Accepted
time: 17ms
memory: 4172kb

input:

200
83 7
8 92
107 9
31 3
19 2
6 72
140 12
186 16
22 2
131 11
6 66
14 169
21 2
120 10
16 193
39 4
85 7
15 177
155 13
183 16
176 15
4 47
4 38
110 10
12 143
3 37
11 122
171 15
69 6
195 17
9 102
144 12
158 14
1 8
166 14
117 10
13 154
179 15
17 194
88 8
6 64
2 23
15 181
14 160
17 197
173 15
81 7
147 13
8...

output:

820487232
168056104
389303904
786803166
747859949
163201436
184471655
286943236
734039879
217802148
477672105
313993286
576453384
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 201 numbers

Test #26:

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

input:

200
101 8
56 5
140 11
15 193
10 129
5 54
6 68
200 16
13 161
13 169
170 13
162 13
102 8
134 11
1 6
130 10
3 33
15 188
2 17
13 163
71 6
4 51
22 2
149 12
8 96
3 30
7 82
143 11
34 3
119 10
6 76
67 6
46 4
9 108
78 6
113 9
4 50
11 132
3 29
172 14
13 167
16 199
5 62
4 1
144 11
10 121
26 2
15 194
11 1
39 3
...

output:

941560284
156408143
117860855
71504118
286002901
82236540
656386501
984288699
392292354
375678581
525101177
448561345
88856629
222487029
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0...

result:

ok 201 numbers

Test #27:

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

input:

200
50 4
2 21
175 13
181 13
13 178
9 121
2 17
2 22
169 12
1 5
5 62
11 1
10 138
141 10
185 14
85 6
70 5
3 40
109 8
9 124
67 5
173 13
180 13
42 3
15 199
81 6
7 87
3 39
2 24
79 6
9 117
143 11
187 14
8 111
14 191
12 162
72 6
6 1
184 14
12 166
149 11
1 2
125 9
3 31
192 14
2 26
37 3
4 54
6 73
10 128
76 6
...

output:

306791307
41136979
825727064
348896251
156923421
279326908
271414153
908884019
949859290
556906447
15321817
192929720
228240965
575859246
416336706
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 201 numbers

Test #28:

score: 0
Accepted
time: 55ms
memory: 6020kb

input:

200
80 6
161 11
171 12
1 8
149 10
199 14
3 35
23 2
10 137
181 12
14 197
194 13
6 1
170 12
11 163
40 3
2 22
98 7
2 1
112 8
13 189
10 146
5 75
152 11
4 60
7 1
1 12
5 68
13 195
7 96
5 1
7 99
191 13
192 13
85 6
12 180
8 115
84 6
5 65
62 5
7 94
12 176
7 93
91 6
13 193
52 4
97 7
169 12
175 12
119 8
27 2
1...

output:

375700468
841467400
95878319
402414369
68557938
507243391
676135012
644304562
901473491
929659471
585508574
712959512
934381768
127474324
178642636
136722763
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 201 numbers

Test #29:

score: 0
Accepted
time: 67ms
memory: 8440kb

input:

200
5 67
12 183
27 2
61 4
3 42
11 1
9 145
195 13
70 5
6 88
90 6
9 131
11 177
150 10
9 134
181 12
6 91
66 5
8 117
41 3
13 194
12 192
5 79
8 116
153 10
57 4
11 167
11 174
5 68
8 114
104 7
10 160
4 63
111 7
2 33
8 128
1 12
7 106
84 6
10 146
64 4
9 142
6 86
2 28
196 13
11 169
69 5
3 49
180 12
197 13
44 ...

output:

454407602
674233339
454140458
700043053
911075695
40301477
62906126
431577241
416730741
66443526
398638542
414791907
770049972
283660406
297155821
660719567
642885794
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0...

result:

ok 201 numbers

Test #30:

score: 0
Accepted
time: 434ms
memory: 40744kb

input:

200
11 198
5 83
147 8
2 25
151 8
100 6
11 195
10 190
2 32
106 6
129 7
97 6
2 24
10 191
8 150
45 3
86 5
9 156
42 3
78 5
163 9
8 142
1 16
11 196
135 8
80 5
107 6
6 103
145 8
11 1
8 140
10 174
5 85
8 139
10 183
120 7
5 93
9 159
20 1
171 9
185 10
10 175
5 84
96 5
179 10
6 111
9 165
47 3
4 65
10 173
68 4...

output:

193649645
70858212
117077553
972546030
132069817
476552562
7144257
322512914
697824020
128753868
398911725
186468018
642094064
222958766
245919119
683616925
245324017
957573487
310792461
691433383
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0...

result:

ok 201 numbers

Test #31:

score: 0
Accepted
time: 795ms
memory: 44848kb

input:

200
59 3
3 46
9 180
49 3
31 2
4 66
187 10
7 132
35 2
7 122
117 6
10 188
197 10
1 18
4 72
9 177
107 6
5 83
82 5
198 10
5 93
1 8
6 109
8 156
20 1
141 7
133 7
1 10
4 76
10 186
30 2
94 5
4 74
152 8
1 19
9 171
3 45
65 4
145 8
143 8
189 10
161 8
48 3
163 9
13 1
127 7
3 44
194 10
55 3
1 21
4 1
81 4
2 24
8 ...

output:

710868772
164314667
884964622
975464568
409864565
201789956
689019709
595324454
388273171
607706268
428445229
156837390
750235524
920745519
846235936
448135763
701107222
850826991
373542500
109127930
11115067
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0...

result:

ok 201 numbers

Test #32:

score: -100
Time Limit Exceeded

input:

200
109 6
89 5
10 194
7 131
5 92
4 66
78 4
160 8
8 155
172 9
2 41
8 165
7 137
5 87
8 166
180 9
1 2
111 6
2 36
6 123
2 43
125 6
8 161
40 2
46 3
77 4
30 2
4 67
124 6
9 186
200 10
7 1
94 5
57 3
6 122
1 5
5 96
3 50
27 2
48 3
175 9
149 8
10 195
7 143
2 39
145 7
8 159
7 148
1 15
193 10
47 3
197 10
3 62
3 ...

output:


result: