XXII Open Cup, Grand Prix of IMO【杂题】

传送门

A AND

给定自然数集合 \(B\),求自然数序列 \(A_1,\cdots,A_n\) 使得 \(n\le 5|B|\)\(\{A_i\text{ AND }A_{i+1}\cdots\text{ AND }A_j:1\le i\le j\le n\}=B\)

\(B\subset[0,2^{20})\)\(\sum|B|\le 10^5\),需判断无解。

solution

必定存在 \(x\in B\) 使得 \(x\)\(B\) 所有数的 AND,用 \(x\) 把其他元素隔开即可。

这 spj 是不是还更难(雾

#include<bits/stdc++.h>
using namespace std;
const int N = 100003;
int T, n, b[N];
void solve(){
	cin >> n;
	for(int i = 0;i < n;++ i) cin >> b[i];
	sort(b, b + n);
	for(int i = 1;i < n;++ i)
		if((b[0] & b[i]) != b[0]){
			puts("-1"); return;
		}
	if(n == 1) printf("1\n%d\n", b[0]);
	else if(n == 2) printf("2\n%d %d\n", b[0], b[1]);
	else {
		printf("%d\n", 2 * n - 3);
		for(int i = 1;i < n;++ i){
			printf("%d", b[i]);
			if(i == n - 1) putchar('\n');
			else printf(" %d ", b[0]);
		}
	}
}
int main(){
	ios::sync_with_stdio(false);
	cin >> T; while(T --) solve();
}

B Bruteforce

给定正整数 \(k,w\),对于长为 \(n\) 的自然数列 \(a_1,\cdots,a_n\),设其排序后数列为 \(b_1,\cdots,b_n\),则其权值为 \(\sum_{i=1}^n\lfloor\frac{b_ii^k}w\rfloor\)

给定长为 \(n\) 的自然数列 \(a_1,\cdots,a_n\)\(q\) 次询问单点修改之后的权值 \(\bmod 998244353\)

\(n,q,a_i\le 10^5\)\(\color{blue}{k,w\le 5}\)

solution

这一看就很二合一,拆成 \(\sum_{i=1}^nb_ii^k\)\(\sum_{i=1}^n(b_ii^k\bmod w)\)

前者:用 Stirling 数拆成组合数,对所有 \(j=0\sim k\) 维护 \(\sum b_i\binom ij\) 就很好平移。

后者:对所有 \(j=0\sim w-1\) 维护 \(\sum(b_i(i+j)^k\bmod w)\) 就很好平移。

用线段树维护桶,时间复杂度 \(\mathcal O((n+q\log V)(k+w))\)

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 100003, M = 1 << 18, mod = 998244353;
void qmo(int &x){x += x >> 31 & mod;}
int ksm(int a, int b, int c = mod){
	int res = 1;
	for(;b;b >>= 1, a = (LL)a * a % c)
		if(b & 1) res = (LL)res * a % c;
	return res;
}
int n, k, w, q, inv, pos, a[N], c[N], S[6][6], C[N][6], pw[5], tot, cnt[M], sg1[M][6], sg2[M][5], tag[M];
void pup(int x){
	cnt[x] = cnt[x<<1] + cnt[x<<1|1];
	for(int i = 0;i <= k;++ i) qmo(sg1[x][i] = sg1[x<<1][i] + sg1[x<<1|1][i] - mod);
	for(int i = 0;i < w;++ i) sg2[x][i] = sg2[x<<1][i] + sg2[x<<1|1][i];
}
void build(int x, int L, int R){
	if(L == R){
		for(int i = 1;i <= c[L];++ i){
			for(int j = 0;j <= k;++ j)
				qmo(sg1[x][j] += C[tot+i][j] - mod);
			for(int j = 0;j < w;++ j)
				sg2[x][j] += L * pw[(tot+i+j)%w] % w;
		}
		for(int j = 0;j <= k;++ j)
			sg1[x][j] = (LL)sg1[x][j] * L % mod;
		tot += cnt[x] = c[L];
		return;
	}
	int md = L + R >> 1;
	build(x << 1, L, md);
	build(x << 1 | 1, md + 1, R);
	pup(x);
}
void padd(int x){
	for(int j = k;j;-- j) qmo(sg1[x][j] += sg1[x][j-1] - mod);
	int tmp = sg2[x][0];
	for(int j = 0;j < w-1;++ j) sg2[x][j] = sg2[x][j+1];
	sg2[x][w-1] = tmp;
}
void psub(int x){
	for(int j = 1;j <= k;++ j) qmo(sg1[x][j] -= sg1[x][j-1]);
	int tmp = sg2[x][w-1];
	for(int j = w-1;j;-- j) sg2[x][j] = sg2[x][j-1];
	sg2[x][0] = tmp;
}
void ptag(int x, int v){
	tag[x] += v;
	for(;v > 0;-- v) padd(x);
	for(;v < 0;++ v) psub(x);
}
void pdown(int x){ptag(x << 1, tag[x]); ptag(x << 1 | 1, tag[x]); tag[x] = 0;}
void upd(int x, int L, int R, int sgn){
	if(L == R){
		tot += cnt[x]; cnt[x] += sgn;
		if(sgn > 0){
			for(int j = 0;j <= k;++ j)
				sg1[x][j] = (sg1[x][j] + (LL)L * C[tot+1][j]) % mod;
			for(int j = 0;j < w;++ j)
				sg2[x][j] += L * pw[(tot+1+j)%w] % w;
		} else {
			for(int j = 0;j <= k;++ j)
				qmo(sg1[x][j] -= (LL)L * C[tot][j] % mod);
			for(int j = 0;j < w;++ j)
				sg2[x][j] -= L * pw[(tot+j)%w] % w;
		} return;
	}
	int md = L + R >> 1; pdown(x);
	if(a[pos] <= md){
		upd(x << 1, L, md, sgn);
		ptag(x << 1 | 1, sgn);
	} else {
		tot += cnt[x << 1];
		upd(x << 1 | 1, md + 1, R, sgn);
	} pup(x);
}
int main(){
	ios::sync_with_stdio(false);
	cin >> n >> k >> w; inv = ksm(w, mod - 2);
	for(int i = 1;i <= n;++ i){
		cin >> a[i]; ++ c[a[i]];
	}
	for(int i = **S = 1;i <= 5;++ i)
		for(int j = 1;j <= i;++ j)
			S[i][j] = ((LL)S[i-1][j-1] + S[i-1][j]) * j % mod;
	for(int i = 0;i <= n;++ i)
		for(int j = *C[i] = 1;j <= k && j <= i;++ j)
			qmo(C[i][j] = C[i-1][j] + C[i-1][j-1] - mod);
	for(int i = 0;i < w;++ i) pw[i] = ksm(i, k, w);
	build(1, 0, 100000);
	cin >> q;
	while(q --){
		cin >> pos; tot = 0; upd(1, 0, 100000, -1);
		cin >> a[pos]; tot = 0; upd(1, 0, 100000, 1);
		int ans = 0;
		for(int i = 0;i <= k;++ i) ans = (ans + (LL)S[k][i] * sg1[1][i]) % mod;
		qmo(ans -= sg2[1][0]); ans = (LL)ans * inv % mod;
		printf("%d\n", ans);
	}
}

C Crab's Cannon

对于字符串 \(S\),定义 \(\text{PPS}(S)\) 表示所有正整数 \(i\) 使得 \(S\) 的长为 \(i\) 的前缀是回文串。

给定正整数 \(\ell\) 和正整数集合 \(A\),对所有满足 \(|S|=\ell\)\(\text{PPS}(S)\supset A\) 的字符串 \(S\),求 \(|\text{PPS}(S)|\) 的最小值。

\(|A|\le 3\cdot 10^5\)\(\ell\le 10^{18}\)

solution

在路上了。

D Deleting

给定长为 \(n\) 的序列 \(1,2,\cdots,n\),每次操作删去相邻两个数,对 \(i<j\)\(2\nmid j-i\) 给定 \(\text{cost}(i,j)\) 表示这相邻两个数是 \(i\)\(j\) 时的代价,求删完的最大代价的最小值。

\(n\le 4000\)\(n\) 是偶数,\(\text{cost}(i,j)\)\(1\)\(n^2/4\) 的排列。

solution

这是括号匹配,考虑暴力 dp \(f_{l,r}=\min\{\max(\text{cost}(l,r),f_{l+1,r-1}),\max(f_{l,k},f_{k+1,r}):k\in[l+1,r-2]\}\),二分之后用 bitset 计算,时间复杂度 \(\mathcal O(n^3\log n/w)\)

#include<bits/stdc++.h>
using namespace std;
namespace IO{
	const int sz=1<<22;
	char a[sz+5],*p1=a,*p2=a;
	inline char gc(){
		return p1==p2?(p2=(p1=a)+fread(a,1,sz,stdin),p1==p2?EOF:*p1++):*p1++;
    }
	template<class T> void gi(T& x){
		x=0; char c=gc();
		for(;c<'0'||c>'9';c=gc());
		for(;c>='0'&&c<='9';c=gc())
			x=x*10+(c-'0');
	}
}
using IO::gi;
const int N = 2000;
int n, a[N<<1][N];
bitset<N> f[N<<1];
int main(){
	gi(n);
	for(int i = 0;i < n;++ i)
		for(int j = i + 1;j < n;j += 2)
			gi(a[i][j-i>>1]);
	int L = 1, R = (n>>1)*(n>>1), md;
	while(L < R){
		md = L + R >> 1;
		for(int i = 0;i < n;++ i) f[i].reset();
		for(int i = n - 2;~i;-- i)
			for(int j = i + 1;j < n;j += 2){
				if(a[i][j-i>>1] <= md && (i + 1 == j || f[i+1][j-1>>1]))
					f[i][j>>1] = 1;
				if(j+1 < n && f[i][j>>1]) f[i] |= f[j+1];
			}
		if(f[0][n-1>>1]) R = md; else L = md + 1;
	}
	printf("%d\n", L);
}

E Eulerian?

这是一道交互题

给定正整数 \(n\),交互库有 \(n\) 个点的无向简单连通图,你可以询问 \(60\) 次点集 \(S\),交互库告诉你 \(S\) 的导出子图的边的数量,求是否存在欧拉回路。

\(n\le 10^4\)\(m\le 10^5\)\(\color{blue}{\text{non-adaptive}}\)

solution
#include<bits/stdc++.h>
using namespace std;
const int N = 10000;
int n, all;
bool a[N];
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int main(){
	ios::sync_with_stdio(false);
	cin >> n; cout << "? " << n;
	for(int i = 1;i <= n;++ i) cout << ' ' << i;
	cout << endl; cin >> all;
	for(int _ = 0;_ < 29;++ _){
		int cnt = 0, s1, s2;
		for(int i = 0;i < n;i += 32){
			unsigned x = rng();
			for(int j = 0;j < 32 && i + j < n;++ j)
				cnt += a[i + j] = x >> j & 1;
		}
		cout << "? " << cnt;
		for(int i = 0;i < n;++ i)
			if(a[i]) cout << ' ' << i + 1;
		cout << endl; cin >> s1;
		cout << "? " << n - cnt;
		for(int i = 0;i < n;++ i)
			if(!a[i]) cout << ' ' << i + 1;
		cout << endl; cin >> s2;
		if(all - s1 - s2 & 1){cout << "! NO" << endl; return 0;} 
	}
	cout << "! YES" << endl;
}

F Fancy Formulas

给定质数 \(p\),对于 \(\text{GF}(p)\) 二元组 \((x,y)\),每次操作将其替换为 \((2x,y-x)\)\((x-y,2y)\)\(q\) 次询问将 \((a,b)\) 变为 \((c,d)\) 的最少操作次数,需判断无解。

\(q\le 10^5\)\(p\le 10^9+7\)\(\color{blue}{p\nmid(a+b)}\)

solution

显然 \(a+b=c+d\),可以将 \(a,b,c,d\) 都乘上 \((a+b)^{-1}\) 所以不妨设 \(a+b=1\),则每次操作 \(a\) 变为 \(2a\)\(2a-1\)\(k\) 次操作后即为 \((2^k(a-1),2^ka]\),暴力枚举即可,时间复杂度 \(\mathcal O(T\log p)\)

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int T, p, a, b, c, d;
int ksm(int a, int b){
	int res = 1;
	for(;b;b >>= 1, a = (LL)a * a % p)
		if(b & 1) res = (LL)res * a % p;
	return res;
}
bool chk(int x, int l, int r){
	if(l > r) return r < x && x <= l;
	return x <= l || x > r; 
}
int main(){
	ios::sync_with_stdio(false);
	cin >> p >> T;
	while(T --){
		cin >> a >> b >> c >> d;
		int s = (a + b) % p;
		if(s != (c + d) % p) puts("-1");
		else {
			int inv = ksm(s, p - 2), k = 0;
			a = (LL)a * inv % p; c = (LL)c * inv % p;
			for(;(1 << k) < p && chk(c, (LL(a?:p)-1<<k)%p, (LL(a)<<k)%p);++ k);
			printf("%d\n", k);
		}
	}
}

G Glory Graph

给定 \(n\) 个点的无向简单图,求 \(4\) 个点的导出子图中「边数为 \(3\) 的链」-「边数为 \(1\)」-「边数为 \(5\)」的数量。

\(n\le 2000\)

solution

不会做

在黄蓝可交换的情况下,\(4\) 个点的无向图共有下述 \(6\) 种,对应导出子图的数量设为 \(x_1,\cdots,x_6\),所求即为 \(x_6-x_2\)

  • \(4\) 个点的导出子图算两次:\(x_1+x_2+x_3+x_4+x_5+x_6=\binom n4\)
  • 对满足 \(AB\ne BC\) 的带标号导出子图 \((A,B,C,D)\) 算两次:\(2x_2+3x_3+3x_4+4x_5+4x_6=\frac{n-3}2\sum b_iy_i\),其中 \(b_i,y_i\) 分别表示 \(i\) 连出的黄边和蓝边的数量;
  • 对满足 \(AB=BC=CD=DA=AC\) 的带标号导出子图 \((A,B,C,D)\) 算两次:\(6x_1+x_2=\sum_{i<j}\binom{f_{i,j}}2\),其中 \(f_{i,j}\) 表示 \((i,j)\) 为底边的同色三角形数量;
  • 对满足 \(AB=BC=CD=DA\ne AC\) 的带标号导出子图 \((A,B,C,D)\) 算两次:\(x_2+2x_5=\sum_{i<j}\binom{g_{i,j}}2\),其中 \(g_{i,j}\) 表示 \((i,k)\)\((k,j)\) 颜色都与 \((i,j)\) 不同的 \(k\) 的数量。

狂暴解方程组即得 \(-3①+②+\frac 12③-\frac 12④=x_6-x_2\)。时间复杂度 \(\mathcal O(n^3/w)\)

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 2000;
int n, d[N];
LL ans, res;
char s[N+5];
bitset<N> G[N];
LL C2(int x){return x * (x-1ll) >> 1;}
int main(){
	scanf("%d", &n);
	for(int i = 0;i < n;++ i){
		scanf("%s", s);
		for(int j = 0;j < n;++ j)
			if(s[j] == 'Y'){G[i].set(j); ++ d[i];}
		ans += d[i] * (n - d[i] - 1ll);
	}
	ans *= n - 3; ans >>= 1;
	ans -= n * (n-1ll) * (n-2ll) * (n-3ll) / 8;
	for(int i = 0;i < n;++ i)
		for(int j = i+1;j < n;++ j){
			int tmp = (G[i] & G[j]).count();
			if(G[i][j]) res += C2(tmp) - C2(n + tmp - d[i] - d[j]);
			else res += C2(n + tmp - 2 - d[i] - d[j]) - C2(tmp);
		}
	ans += res >> 1;
	printf("%lld\n", ans);
}

H Hamiltonian

给定正整数 \(k\),构造不超过 \(20\) 个点的无向简单图使得恰存在 \(k\) 个无序点对 \((u,v)\) 使得存在 \(u\)\(v\) 的哈密顿路径。

\(k\le 60\)

solution

随机检验 + 本地打表

\(n\) 个点的环的答案为 \(n\)

\(n\) 个点的完全图接上 \(m\) 个点的链的答案为 \(\frac{n(n+3)}2+m-4\)

#include<bits/stdc++.h>
using namespace std;
int k;
int main(){
	ios::sync_with_stdio(false);
	cin >> k;
	if(k == 1){puts("2 1\n1 2"); return 0;}
	if(k == 2){puts("4 4\n1 2\n1 3\n2 3\n3 4"); return 0;}
	if(k <= 20){
		printf("%d %d\n1 %d\n", k, k, k);
		for(int i = 1;i < k;++ i)
			printf("%d %d\n", i, i+1);
		return 0;
	}
	for(int n = 3;n < 10;++ n)
		for(int m = 1;n + m <= 20;++ m) if((n*(n+3)>>1)+m-4 == k){
			printf("%d %d\n", n+m, (n*(n-1)>>1)+m+1);
			for(int i = 1;i < n;++ i)
				for(int j = i+1;j <= n;++ j)
					printf("%d %d\n", i, j);
			for(int i = n;i < n+m;++ i)
				printf("%d %d\n", i, i+1);
			printf("%d %d\n", n-1, n+m);
			return 0;
		}
}

I Intellectual Implementation

给定 \(n\) 个平面上矩形 \([l_i,r_i]\times[d_i,u_i]\),求有多少个无序三元组 \((i,j,k)\) 使得第 \(i,j,k\) 个矩形两两没有公共点。

\(n\le 2\cdot 10^5\)\(-10^9\le l_i<r_i\le 10^9\)\(-10^9\le d_i<u_i\le 10^9\),所有 \(l_i,r_i\) 两两不同,所有 \(d_i,u_i\) 两两不同。

solution

类似 G 题,求出每个点 \(i\) 的度数 \(d_i\) 以及三角形的个数 \(s\) 之后,答案即为 \(\binom n3-\frac 12\sum d_i(n-1-d_i)-s\)

然后就不会了 qwq

J Joke

对于 \(p,q\in\mathfrak S_n\),定义 \(f(p,q)\) 表示长为 \(n\)01\(s\) 的个数使得存在 \(2\times n\) 的矩阵 \(a\) 使得:

  • \(1,\cdots,2n\) 分别恰出现一次;
  • \(a_{1,i}<a_{1,j}\iff p_i<p_j\)
  • \(a_{2,i}<a_{2,j}\iff q_i<q_j\)
  • \(a_{1,i}<a_{2,i}\iff s_i=\texttt 0\)

给定长为 \(n\) 的排列 \(p\) 和缺位排列 \(q\),对所有 \(q\)\(f(p,q)\) 之和 \(\bmod 998244353\)

\(n\le 100\)

solution

\(s\) 合法 \(\iff\) 大小关系无环,不妨设 \(p\) 是恒等排列,此时若有环则可以缩成两行各两个点的情况,所以条件等价于 \(i<j\land q_i>q_j\implies s_i\le s_j\),此即为偏序集的序理想,其与反链构成双射,所以 \(f(p,q)\) 即为 \(q\) 的上升子序列数量。

不妨设 \(q_0:=0\)\(q_{n+1}:=n+1\)\(f_{i,j}\) 表示从 \(0\)\(i\) 经过 \(j\) 个通配符的答案,直接 dp 即可,时间复杂度 \(\mathcal O(n^4)\)

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 103, mod = 998244353;
int ksm(int a, int b){
	int res = 1;
	for(;b;b >>= 1, a = (LL)a * a % mod)
		if(b & 1) res = (LL)res * a % mod;
	return res;
}
int n, p[N], q[N], s[N], fac[N], inv[N], f[N][N], ans;
int C(int n, int m){return (LL)fac[n] * inv[m] % mod * inv[n-m] % mod;}
int main(){
	ios::sync_with_stdio(false);
	cin >> n;
	for(int i = *fac = 1;i <= n;++ i){
		cin >> p[i]; s[i] = 1;
		fac[i] = (LL)fac[i-1] * i % mod;
	}
	inv[n] = ksm(fac[n], mod - 2);
	for(int i = n;i;-- i) inv[i-1] = (LL)inv[i] * i % mod;
	for(int i = 1;i <= n;++ i){cin >> q[p[i]]; s[q[p[i]]] = 0;}
	for(int i = 1;i <= n+1;++ i) s[i] += s[i-1];
	q[n+1] = n+1; **f = 1;
	for(int i = 0;i <= n;++ i) if(!i || q[i])
		for(int j = 0;j <= i;++ j) if(f[i][j])
			for(int k = i+1, _ = 0;k <= n+1;_ += !q[k], ++ k) if(q[k] > q[i])
				for(int l = 0;l <= _ && l <= s[q[k]] - s[q[i]];++ l)
					f[k][j+l] = (f[k][j+l] + (LL)C(_, l) * C(s[q[k]] - s[q[i]], l) % mod * f[i][j]) % mod;
	for(int i = 0;i <= s[n];++ i) ans = (ans + (LL)f[n+1][i] * fac[s[n]-i]) % mod;
	printf("%d\n", ans);
}

K K-onstruction

给定正整数 \(k\),构造至多 \(30\) 个绝对值 \(\le 10^{16}\) 的整数使得恰有 \(k\) 个子集和为 \(0\)\(T\) 组数据。

\(T\le 1000\)\(k\le 10^6\)

solution

不会做

对于整数多重集 \(S\),假设其恰有 \(k\) 个子集和为 \(0\)、总和不为 \(0\) 且不含 \(0\),设正/负数和的绝对值为 \(a,b\),不妨设 \(a>b\),考虑另一个满足同样条件的多重集 \(T\),设 \(T\) 恰有 \(k'\) 个子集和为 \(0\)\(b'\) 个子集和为 \(1\),则将 \(T\) 乘上 \(-a\) 再加入 \(S\) 即得恰有 \(kk'+b'\) 个子集和为 \(0\) 的答案。

初始时随便生成些小的,然后 dp 合成一下。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 1000003;
template<typename T>
bool chmin(T &a, const T &b){if(a > b) return a = b, 1; return 0;}
vector<int> v[1490], res;
vector<LL> ans;
int T, k, dp[N], pre[N];
int main(){
	ios::sync_with_stdio(false);
v[0]={1,0,2,-3};
v[1]={1,1,-2,3};
v[2]={1,2,-2,3,3};
v[3]={1,3,-2,3,3,3};
v[4]={1,4,-2,-2,3,3};
v[5]={1,5,-2,3,3,3,3,3};
v[6]={1,6,-2,-2,3,3,3};
v[7]={1,7,-2,3,3,3,3,3,3,3};
v[8]={1,8,-2,-2,3,3,3,3};
v[9]={1,9,-2,3,3,3,3,3,3,3,3,3};
v[10]={1,10,2,2,2,2,2,-3};
v[11]={1,12,-2,-2,3,3,3,3,3,3};
v[12]={1,14,-2,-2,3,3,3,3,3,3,3};
v[13]={1,15,2,2,2,2,2,2,-3};
v[14]={1,16,-2,-2,3,3,3,3,3,3,3,3};
v[15]={1,21,2,2,2,2,2,2,2,-3};
v[16]={1,28,2,2,2,2,2,2,2,2,-3};
v[17]={1,36,2,2,2,2,2,2,2,2,2,-3};
v[18]={2,0,2,3,-3};
v[19]={2,1,-2,3,-3};
v[20]={2,2,1,3,-3};
v[21]={2,3,-1,-1,2,3};
v[22]={2,4,1,1,3,-3};
v[23]={2,5,-1,-1,2,3,3,3};
v[24]={2,6,2,2,2,2,3,-3};
v[25]={2,7,-1,-1,2,3,3,3,3,3};
v[26]={2,8,-1,-1,2,3,3,3,3,3,3};
v[27]={2,9,-1,-1,2,3,3,3,3,3,3,3};
v[28]={2,10,2,2,2,2,2,3,-3};
v[29]={2,15,2,2,2,2,2,2,3,-3};
v[30]={2,21,2,2,2,2,2,2,2,3,-3};
v[31]={2,28,2,2,2,2,2,2,2,2,3,-3};
v[32]={3,0,3,-3,-3};
v[33]={3,1,1,-1,-1};
v[34]={3,2,-1,-2,3,3};
v[35]={3,3,1,1,-1};
v[36]={3,4,-1,-1,2,2};
v[37]={3,5,-1,2,2,3,-3};
v[38]={3,6,-2,-2,3,3,-3};
v[39]={3,7,-1,-1,2,2,3,3,3};
v[40]={3,8,-1,-1,2,2,3,3,3,3};
v[41]={3,9,2,-2,-2,3,3,3};
v[42]={3,10,2,2,2,2,2,3,3,-3};
v[43]={3,12,2,-2,-2,3,3,3,3};
v[44]={3,15,2,-2,-2,3,3,3,3,3};
v[45]={3,18,2,-2,-2,3,3,3,3,3,3};
v[46]={3,21,2,-2,-2,3,3,3,3,3,3,3};
v[47]={4,0,3,-3,-3,-3};
v[48]={4,1,1,-1,-1,-1};
v[49]={4,2,-1,-2,-2,3,-3};
v[50]={4,3,-1,-1,-1,2};
v[51]={4,4,1,-1,-1,2};
v[52]={4,5,1,-1,-2,3,3};
v[53]={4,6,1,1,1,-1};
v[54]={4,7,1,1,1,-1,2};
v[55]={4,8,1,1,3,-3,-3,-3};
v[56]={4,9,-2,-2,-2,3,3,-3};
v[57]={4,10,1,-2,3,3,3,-3};
v[58]={4,11,1,1,1,-1,2,2,2,2,2};
v[59]={4,12,-2,-2,3,3,3,-3};
v[60]={4,15,2,2,2,2,2,2,3,3,3,-3};
v[61]={5,0,3,-3,-3,-3,-3};
v[62]={5,1,1,-1,-1,-1,-1};
v[63]={5,2,-1,-2,-2,3,-3,-3};
v[64]={5,3,-1,2,-2,3,-3};
v[65]={5,4,-1,-1,-2,3,3};
v[66]={5,5,-1,-2,-2,3,3};
v[67]={5,6,-1,-1,-1,2,3};
v[68]={5,7,1,-1,-1,2,2};
v[69]={5,8,-2,-2,-2,-2,3,3};
v[70]={5,9,-1,2,2,2,3,-3};
v[71]={5,10,1,1,1,1,-1};
v[72]={5,11,1,1,1,1,-1,2};
v[73]={5,12,2,-2,-2,-2,3,3};
v[74]={5,13,1,1,1,1,-1,2,2,2};
v[75]={5,14,1,1,1,1,-1,2,2,2,2};
v[76]={5,15,1,-2,3,3,3,3,-3};
v[77]={5,20,-2,-2,3,3,3,3,-3};
v[78]={6,0,2,3,3,-3,-3};
v[79]={6,1,2,-2,3,-3,-3};
v[80]={6,2,2,2,-2,3,-3};
v[81]={6,3,2,-2,3,3,-3};
v[82]={6,4,-2,3,3,-3,-3};
v[83]={6,5,1,1,-1,-1,3};
v[84]={6,6,1,3,3,-3,-3};
v[85]={6,7,-1,-1,2,3,-3,-3};
v[86]={6,8,-2,-2,3,3,-3,-3};
v[87]={6,9,-1,-1,2,3,3,-3};
v[88]={6,10,1,-2,3,3,-3,-3};
v[89]={6,11,-1,2,2,2,2,-2,3};
v[90]={6,12,1,1,3,3,-3,-3};
v[91]={6,13,1,-1,-1,2,2,2,3,3,3};
v[92]={6,14,1,-1,-1,2,2,2,3,3,3,3};
v[93]={6,15,1,1,1,1,1,-1};
v[94]={6,16,1,1,1,1,1,-1,2};
v[95]={6,17,1,1,1,1,1,-1,2,2};
v[96]={6,18,1,1,1,1,1,-1,2,2,2};
v[97]={6,19,1,1,1,1,1,-1,2,2,2,2};
v[98]={6,20,2,2,2,2,2,-2,-3};
v[99]={6,21,1,-2,3,3,3,3,3,-3};
v[100]={6,24,2,2,-2,-2,3,3,3,3,3,3};
v[101]={6,30,-2,-2,3,3,3,3,3,-3};
v[102]={7,0,3,-3,-3,-3,-3,-3,-3};
v[103]={7,1,1,-1,-1,-1,-1,-1,-1};
v[104]={7,2,-1,-2,-2,3,-3,-3,-3,-3};
v[105]={7,3,-1,-1,-2,-2,3,-3,-3};
v[106]={7,4,-1,-1,-1,-1,2};
v[107]={7,5,1,-1,-1,2,-2};
v[108]={7,6,-1,-1,-2,3,3,3};
v[109]={7,7,-1,-1,-1,2,2};
v[110]={7,8,1,1,-1,-1,2};
v[111]={7,9,-1,-2,-2,3,3,3};
v[112]={7,10,-1,2,2,2,2,-3};
v[113]={7,11,1,-1,-2,3,3,3,3,3};
v[114]={7,12,-2,-2,-2,3,3,-3,-3};
v[115]={7,13,1,-1,-1,2,2,2,2};
v[116]={7,14,1,-1,-1,2,2,2,2,3};
v[117]={7,15,-1,2,2,2,3,3,3,-3};
v[118]={7,16,-1,2,2,2,2,2,-2,3};
v[119]={7,18,2,-2,-2,-2,3,3,3};
v[120]={7,21,1,1,1,1,1,1,-1};
v[121]={7,22,1,1,1,1,1,1,-1,2};
v[122]={7,23,1,1,1,1,1,1,-1,2,2};
v[123]={7,24,1,1,1,1,1,1,-1,2,2,2};
v[124]={7,28,1,-2,3,3,3,3,3,3,-3};
v[125]={7,35,2,2,2,2,2,2,-2,-3};
v[126]={7,42,-2,-2,3,3,3,3,3,3,-3};
v[127]={8,0,3,-3,-3,-3,-3,-3,-3,-3};
v[128]={8,1,2,-2,3,-3,-3,-3};
v[129]={8,2,-1,-2,-2,3,-3,-3,-3,-3,-3};
v[130]={8,3,-1,-1,-2,-2,3,-3,-3,-3};
v[131]={8,4,-1,-1,-1,-1,2,-2};
v[132]={8,5,2,2,2,-2,3,-3};
v[133]={8,6,2,-2,3,3,3,-3};
v[134]={8,7,-1,-1,2,-2,3,-3};
v[135]={8,8,-1,2,2,-2,3,-3};
v[136]={8,9,-1,-2,-2,-2,3,3};
v[137]={8,10,-1,-1,2,2,3,-3};
v[138]={8,11,1,-1,2,-2,3,3,3,3};
v[139]={8,12,1,1,-1,-1,2,2};
v[140]={8,13,1,1,-1,-1,2,2,3};
v[141]={8,14,-1,2,2,2,2,3,-3};
v[142]={8,15,-1,-1,-1,2,3,3,3,3};
v[143]={8,16,1,-1,-1,2,2,2,2,2};
v[144]={8,17,1,-1,-1,-1,3,3,3,3};
v[145]={8,18,-1,2,2,2,3,3,3,3,-3};
v[146]={8,21,-1,-1,-1,3,3,3,3,3,3,3};
v[147]={8,22,-1,2,2,2,2,2,2,-2,3};
v[148]={8,28,1,1,1,1,1,1,1,-1};
v[149]={8,29,1,1,1,1,1,1,1,-1,2};
v[150]={8,30,1,1,1,1,1,1,1,-1,2,2};
v[151]={8,36,1,-2,3,3,3,3,3,3,3,-3};
v[152]={8,56,2,2,2,2,2,2,2,-2,-3};
v[153]={9,0,3,-3,-3,-3,-3,-3,-3,-3,-3};
v[154]={9,1,1,-1,-1,-1,-1,-1,-1,-1,-1};
v[155]={9,2,-1,-2,-2,3,-3,-3,-3,-3,-3,-3};
v[156]={9,3,2,-2,-2,3,-3,-3};
v[157]={9,4,2,2,-2,3,-3,-3};
v[158]={9,5,-1,2,-2,-2,3,-3};
v[159]={9,6,-1,2,-2,3,3,-3};
v[160]={9,7,-1,-2,-2,3,3,-3};
v[161]={9,8,-1,2,-2,-2,3,3};
v[162]={9,9,2,-2,-2,3,3,-3};
v[163]={9,11,1,-1,-1,-1,2,3};
v[164]={9,12,-1,-1,-1,-1,3,3};
v[165]={9,13,-1,-1,-1,2,2,3,3};
v[166]={9,14,-1,-2,-2,3,3,3,3};
v[167]={9,15,1,-1,-2,3,3,3,3,3,3,3};
v[168]={9,16,1,1,-1,-1,2,2,2};
v[169]={9,17,1,1,-1,-1,2,2,2,3};
v[170]={9,18,-1,2,2,2,2,3,3,-3};
v[171]={9,19,1,-1,-1,2,2,2,2,2,2};
v[172]={9,20,1,-1,-1,2,2,2,2,2,2,3};
v[173]={9,21,1,-1,-1,-1,3,3,3,3,3};
v[174]={9,23,-1,2,2,2,2,2,2,-2,3,3};
v[175]={9,29,-1,2,2,2,2,2,2,2,-2,3};
v[176]={9,36,1,1,1,1,1,1,1,1,-1};
v[177]={9,37,1,1,1,1,1,1,1,1,-1,2};
v[178]={9,84,2,2,2,2,2,2,2,2,-2,-3};
v[179]={10,0,3,3,-3,-3,-3};
v[180]={10,1,2,2,-2,-2,-2,-3};
v[181]={10,2,2,2,-2,-2,-2,-3,-3};
v[182]={10,3,2,2,-2,-2,-2,-3,-3,-3};
v[183]={10,4,-1,-2,3,3,-3,-3};
v[184]={10,5,1,1,-1,-1,-1};
v[185]={10,6,-1,-2,3,3,3,-3};
v[186]={10,7,-1,2,-2,-2,-2,3};
v[187]={10,8,-1,2,2,-2,-2,3};
v[188]={10,10,1,1,1,-1,-1};
v[189]={10,11,1,1,1,-1,-1,3};
v[190]={10,12,-1,-1,2,2,2,-2};
v[191]={10,13,1,1,1,-1,-1,3,3,3};
v[192]={10,14,-1,2,2,3,-3,-3,-3};
v[193]={10,15,1,-2,3,3,-3,-3,-3};
v[194]={10,16,-1,2,2,3,3,-3,-3};
v[195]={10,18,-1,-1,-1,3,3,3,-3};
v[196]={10,20,-2,-2,3,3,3,-3,-3};
v[197]={10,21,1,1,-1,-1,2,2,2,2,3};
v[198]={10,22,-1,2,2,2,2,3,3,3,-3};
v[199]={10,24,2,-2,-2,-2,3,3,3,3};
v[200]={10,25,2,2,2,-2,-2,3,3,3,3,3};
v[201]={10,45,1,1,1,1,1,1,1,1,1,-1};
v[202]={11,4,-1,-1,-1,-1,2,-2,-2,-2,-2};
v[203]={11,5,-1,-1,-1,-1,-1,2};
v[204]={11,6,-1,2,2,-2,-2,-2,-3};
v[205]={11,7,-1,-1,-1,-1,-2,3,-3,-3};
v[206]={11,8,-1,-1,2,2,-3,-3,-3,-3};
v[207]={11,9,1,-1,-1,-1,-2,3};
v[208]={11,10,-1,-1,-1,-1,-1,3};
v[209]={11,11,-1,-1,-1,-1,2,3};
v[210]={11,14,-1,-1,2,-2,3,3,3,3};
v[211]={11,15,1,1,1,-1,-1,2};
v[212]={11,16,-1,-1,2,2,3,3,-3};
v[213]={11,17,1,-1,2,2,2,2,-2,3};
v[214]={11,18,1,1,1,-1,-1,2,3,3,3};
v[215]={11,19,1,-1,-1,-1,2,3,3,3};
v[216]={11,20,2,2,-2,-2,-2,3,3};
v[217]={11,24,1,1,-1,-1,2,2,2,2,2};
v[218]={11,25,1,1,-1,-1,2,2,2,2,2,3};
v[219]={11,26,-1,2,2,2,2,3,3,3,3,-3};
v[220]={12,1,2,-2,3,-3,-3,-3,-3,-3};
v[221]={12,3,2,-2,-2,3,-3,-3,-3};
v[222]={12,4,-1,-1,-1,-1,2,-2,-2,-2,-2,-2};
v[223]={12,5,-1,-1,-1,-1,-1,2,-2};
v[224]={12,6,2,-2,-2,-2,3,-3,-3};
v[225]={12,7,2,2,-2,3,-3,-3,-3};
v[226]={12,8,1,-1,-1,-1,2,-2};
v[227]={12,9,-1,-1,2,2,-2,-2,-3};
v[228]={12,10,-1,-1,-1,2,2,-2};
v[229]={12,12,1,-1,-1,2,2,-2};
v[230]={12,13,-1,2,-2,-2,3,3,3};
v[231]={12,14,1,-1,-1,-1,2,2};
v[232]={12,15,1,1,-1,-1,-1,3,3};
v[233]={12,17,-1,-1,2,2,2,-2,3};
v[234]={12,18,2,-2,-2,3,3,3,-3};
v[235]={12,19,1,-1,2,2,2,2,-2,3,3};
v[236]={12,20,1,1,1,-1,-1,2,2};
v[237]={12,21,2,2,2,2,2,-2,3,-3};
v[238]={12,22,1,1,1,-1,-1,2,2,3,3};
v[239]={12,23,1,-1,-1,-1,2,3,3,3,3};
v[240]={12,27,-1,-1,2,3,3,3,3,3,-3};
v[241]={12,28,1,1,-1,-1,2,2,2,2,2,2};
v[242]={13,5,-1,-1,-1,-1,-1,2,-2,-2};
v[243]={13,6,-1,-1,-1,-2,-2,-2,3,-3,-3};
v[244]={13,7,1,-1,-1,2,-2,-2,-2};
v[245]={13,8,-1,-1,-1,-1,-2,-2,3};
v[246]={13,9,-1,-1,-1,2,2,-3,-3};
v[247]={13,10,-1,-1,-1,-1,-1,3,-3,-3};
v[248]={13,12,-1,-2,-2,-2,3,3,-3};
v[249]={13,13,-2,-2,-2,-2,3,3,3};
v[250]={13,14,-1,-2,-2,-2,-2,3,3};
v[251]={13,15,-1,-1,-1,-2,3,3,3};
v[252]={13,17,-1,2,2,2,-2,3,-3};
v[253]={13,18,2,-2,-2,-2,3,3,-3};
v[254]={13,20,1,1,-1,-1,-1,3,3,3};
v[255]={13,21,-1,-1,-1,2,2,2,3,3,3};
v[256]={13,23,1,-1,2,2,2,2,2,-2,3};
v[257]={13,25,1,1,1,-1,-1,2,2,2};
v[258]={13,26,1,1,1,-1,-1,2,2,2,3};
v[259]={13,27,-1,-2,-2,3,3,3,3,3,3};
v[260]={13,30,2,2,-2,-2,-2,3,3,3};
v[261]={14,1,2,-2,3,-3,-3,-3,-3,-3,-3};
v[262]={14,5,-1,-1,-1,-1,-1,2,-2,-2,-2};
v[263]={14,6,-1,-1,-1,-2,-2,-2,3,-3,-3,-3};
v[264]={14,7,-1,-1,-1,-2,-2,-2,-2,3};
v[265]={14,8,-1,2,-2,-2,-2,3,-3};
v[266]={14,9,-1,-2,-2,3,3,-3,-3};
v[267]={14,10,-1,2,-2,3,3,3,-3};
v[268]={14,11,-1,-1,2,-2,3,-3,-3,-3};
v[269]={14,13,-1,2,2,-2,-2,3,3};
v[270]={14,15,-1,-1,2,3,-3,-3,-3,-3,-3,-3};
v[271]={14,16,1,-1,-2,3,3,3,-3};
v[272]={14,17,-1,-1,2,2,2,3,-3};
v[273]={14,20,-2,-2,-2,-2,3,3,-3,-3,-3};
v[274]={14,21,-1,-1,-1,2,2,2,2,3};
v[275]={14,22,-1,-1,2,2,2,-2,3,3};
v[276]={14,23,-1,-1,2,2,3,3,3,-3};
v[277]={14,24,-1,-1,-1,2,2,2,3,3,3,3};
v[278]={14,25,1,1,-1,-1,-1,3,3,3,3};
v[279]={14,28,1,-1,2,2,2,2,2,2,-2};
v[280]={14,30,2,-2,-2,-2,3,3,3,3,3};
v[281]={14,31,1,1,1,-1,-1,2,2,2,2,3};
v[282]={14,35,-1,-1,2,3,3,3,3,3,3,-3};
v[283]={14,36,2,2,2,2,2,2,-2,3,-3};
v[284]={15,0,3,3,-3,-3,-3,-3};
v[285]={15,1,2,2,-2,-2,-2,-2,-3};
v[286]={15,2,2,2,-2,-2,-2,-2,-3,-3};
v[287]={15,3,2,-2,-2,3,-3,-3,-3,-3};
v[288]={15,4,2,2,-2,-2,-2,-2,-3,-3,-3,-3};
v[289]={15,5,-1,-2,3,3,-3,-3,-3};
v[290]={15,6,1,1,-1,-1,-1,-1};
v[291]={15,7,-1,2,-2,-2,3,-3,-3,-3};
v[292]={15,8,1,-1,-1,-2,3,-3,-3,-3};
v[293]={15,9,1,-1,-2,3,-3,-3,-3,-3,-3,-3};
v[294]={15,10,-1,-2,3,3,3,3,-3};
v[295]={15,11,1,-1,-1,-1,-1,2};
v[296]={15,12,1,-1,-1,-1,-1,3,-3};
v[297]={15,13,-1,-1,-1,-2,3,3,-3};
v[298]={15,14,-1,-1,-2,3,3,3,3,3,3,3};
v[299]={15,15,1,1,-1,-1,-1,2};
v[300]={15,16,-1,-1,2,2,3,-3,-3};
v[301]={15,17,1,-1,-1,-2,3,3,3,3};
v[302]={15,18,-1,-1,-1,2,3,3,-3};
v[303]={15,19,-1,2,-2,-2,3,3,3,3};
v[304]={15,20,1,1,1,1,-1,-1};
v[305]={15,21,1,-1,-1,-1,-1,3,3};
v[306]={15,22,1,1,1,1,-1,-1,3,3};
v[307]={15,23,1,1,1,1,-1,-1,3,3,3};
v[308]={15,24,-1,-1,-1,2,2,2,2,3,3};
v[309]={15,25,-1,2,2,3,3,3,-3,-3};
v[310]={15,26,1,-1,-1,-1,2,2,3,3,3};
v[311]={15,30,-2,-2,-2,3,3,3,-3,-3};
v[312]={15,35,1,-2,3,3,3,3,-3,-3};
v[313]={15,40,-2,-2,3,3,3,3,-3,-3};
v[314]={16,1,2,-2,3,-3,-3,-3,-3,-3,-3,-3};
v[315]={16,6,-1,-1,-1,-1,-1,-1,2};
v[316]={16,7,-1,2,2,-2,-2,-2,-2,-3};
v[317]={16,8,1,-1,-1,2,-2,-2,-2,-2};
v[318]={16,9,1,-1,-1,-1,2,-2,-2};
v[319]={16,10,-1,2,-2,3,3,-3,-3};
v[320]={16,11,-1,-1,-2,-2,3,3,-3};
v[321]={16,12,-1,-1,-2,3,3,3,-3};
v[322]={16,14,1,-1,-2,3,3,-3,-3};
v[323]={16,15,-1,-1,-2,-2,3,3,3};
v[324]={16,16,-1,-2,-2,3,3,3,-3};
v[325]={16,18,-2,-2,-2,3,3,-3,-3,-3,-3};
v[326]={16,20,1,1,-1,-1,-1,2,3};
v[327]={16,21,-1,2,2,2,2,2,2,-3};
v[328]={16,22,1,-1,-1,-1,2,2,2};
v[329]={16,25,-1,-1,-1,2,2,2,2,2};
v[330]={16,26,1,1,1,1,-1,-1,2};
v[331]={16,27,1,1,1,1,-1,-1,2,3};
v[332]={16,28,1,1,1,1,-1,-1,2,3,3};
v[333]={16,29,1,1,1,1,-1,-1,2,3,3,3};
v[334]={16,30,1,-1,-1,-1,2,2,3,3,3,3};
v[335]={16,36,1,-1,2,2,2,2,2,2,2,-2};
v[336]={16,40,2,2,-2,-2,-2,3,3,3,3};
v[337]={16,57,2,2,2,2,2,2,2,-2,3,-3};
v[338]={17,6,-1,-1,-1,-1,-1,-1,2,-2};
v[339]={17,8,1,-1,-1,-1,3,-3,-3,-3};
v[340]={17,9,-1,-1,-1,-1,-2,-2,-2,3};
v[341]={17,11,-1,-1,2,2,-2,-2,-2,-3};
v[342]={17,12,-1,-1,2,-2,-2,-2,3};
v[343]={17,13,-1,2,2,-2,-2,3,-3};
v[344]={17,14,-1,-1,-2,-2,-2,3,3};
v[345]={17,15,-1,-1,-1,2,3,-3,-3,-3};
v[346]={17,16,-1,-1,2,-2,-2,3,3};
v[347]={17,17,-1,2,-2,-2,-2,3,3};
v[348]={17,18,-1,-1,2,2,2,2,-3};
v[349]={17,22,-1,-1,-1,-2,3,3,3,3};
v[350]={17,24,-1,-1,-1,-1,3,3,3,3};
v[351]={17,25,1,1,-1,-1,-1,2,3,3};
v[352]={17,26,-1,-1,2,2,2,2,-2,3};
v[353]={17,27,-1,2,2,2,2,2,2,3,-3};
v[354]={17,28,-1,-1,-1,2,2,2,2,2,3};
v[355]={17,31,-1,-1,2,2,3,3,3,3,-3};
v[356]={17,32,1,1,1,1,-1,-1,2,2};
v[357]={17,33,1,1,1,1,-1,-1,2,2,3};
v[358]={17,34,1,1,1,1,-1,-1,2,2,3,3};
v[359]={18,3,2,-2,-2,3,-3,-3,-3,-3,-3};
v[360]={18,6,-1,-1,-1,-1,-1,-1,2,-2,-2};
v[361]={18,7,2,2,-2,-2,3,-3,-3};
v[362]={18,8,2,2,-2,3,3,-3,-3};
v[363]={18,9,-1,2,-2,-2,-2,3,-3,-3};
v[364]={18,10,1,-1,-1,3,3,-3,-3};
v[365]={18,11,-1,-1,-1,-1,-1,-2,3,-3,-3};
v[366]={18,12,2,-2,-2,3,3,-3,-3};
v[367]={18,13,2,2,-2,-2,3,3,-3};
v[368]={18,15,-1,-1,-1,-2,-2,3,3};
v[369]={18,16,2,2,-2,3,-3,-3,-3,-3,-3};
v[370]={18,17,-1,-1,2,2,2,-2,-3};
v[371]={18,18,-1,-1,2,2,-2,-2,3};
v[372]={18,19,-1,2,2,-2,-2,3,3,3};
v[373]={18,20,-1,-1,-1,2,2,-2,3};
v[374]={18,21,1,-1,-1,3,3,3,3,3,-3};
v[375]={18,22,1,-1,-1,2,2,2,-2};
v[376]={18,23,2,2,2,2,2,-2,3,3,-3};
v[377]={18,24,1,-1,-1,2,2,-2,3,3};
v[378]={18,25,-1,-1,2,2,2,3,3,-3};
v[379]={18,26,-1,2,-2,-2,3,3,3,3,3};
v[380]={18,30,1,-1,-1,-1,2,2,2,3,3};
v[381]={18,31,-1,-1,-1,2,2,2,2,2,3,3};
v[382]={18,32,-1,-1,2,2,2,-2,3,3,3,3};
v[383]={18,33,-1,2,2,2,2,2,2,3,3,-3};
v[384]={18,38,1,1,1,1,-1,-1,2,2,2};
v[385]={18,39,1,1,1,1,-1,-1,2,2,2,3};
v[386]={18,45,2,-2,-2,3,3,3,3,3,-3};
v[387]={19,6,-1,-1,-1,-1,-1,-1,2,-2,-2,-2};
v[388]={19,9,1,-1,-1,2,-2,-2,-2,-2,-2};
v[389]={19,11,1,-1,-1,-1,-2,3,-3,-3};
v[390]={19,12,-1,-1,2,2,-2,-2,-2,-3,-3};
v[391]={19,15,-1,-2,-2,-2,3,3,-3,-3};
v[392]={19,18,-1,-2,-2,-2,-2,3,3,-3};
v[393]={19,19,-1,2,2,-2,3,-3,-3,-3};
v[394]={19,24,-2,-2,-2,-2,3,3,-3,-3,-3,-3};
v[395]={19,25,-1,2,2,2,-2,3,3,-3};
v[396]={19,30,-1,-2,-2,-2,3,3,3,3};
v[397]={19,32,-1,-1,2,2,2,2,-2,3,3};
v[398]={19,33,-1,-1,-1,2,2,2,2,2,2};
v[399]={19,34,1,-1,-1,-1,2,2,2,3,3,3};
v[400]={19,35,1,1,-1,-1,-1,2,3,3,3,3};
v[401]={19,36,2,-2,-2,-2,3,3,3,3,3,3};
v[402]={19,44,1,1,1,1,-1,-1,2,2,2,2};
v[403]={20,0,2,3,3,3,-3,-3,-3};
v[404]={20,5,2,-2,3,3,-3,-3,-3};
v[405]={20,6,2,2,2,-2,-2,-2,-3};
v[406]={20,9,-1,-1,-1,-2,-2,-2,-2,-2,-2,3};
v[407]={20,10,2,-2,3,3,3,-3,-3};
v[408]={20,11,2,2,-2,-2,-2,3,-3};
v[409]={20,12,1,-1,-1,-1,-1,2,-2};
v[410]={20,13,1,-1,-1,-1,-1,3,-3,-3};
v[411]={20,14,2,2,2,-2,3,3,3,3,-3};
v[412]={20,15,-2,3,3,3,-3,-3,-3};
v[413]={20,16,1,-1,-1,-1,-1,-2,3};
v[414]={20,18,-1,-1,-1,-1,2,-2,3};
v[415]={20,20,1,3,3,3,-3,-3,-3};
v[416]={20,21,-1,2,2,2,-2,-2,3,3};
v[417]={20,22,1,-1,-1,-1,-1,2,3};
v[418]={20,25,-2,-2,-2,-2,3,3,3,-3};
v[419]={20,26,1,1,-1,-1,-1,2,2};
v[420]={20,27,-1,-1,-1,2,-2,3,3,3};
v[421]={20,30,-2,-2,3,3,3,-3,-3,-3};
v[422]={20,31,2,-2,-2,-2,-2,3,3,3};
v[423]={20,35,1,-2,3,3,3,-3,-3,-3};
v[424]={20,36,2,-2,-2,-2,3,3,3,-3};
v[425]={20,40,1,1,3,3,3,-3,-3,-3};
v[426]={20,50,2,2,-2,-2,-2,3,3,3,3,3};
v[427]={21,0,3,3,-3,-3,-3,-3,-3};
v[428]={21,1,2,2,-2,-2,-2,-2,-2,-3};
v[429]={21,2,2,2,-2,-2,-2,-2,-2,-3,-3};
v[430]={21,3,2,-2,-2,3,-3,-3,-3,-3,-3,-3};
v[431]={21,6,-1,-2,3,3,-3,-3,-3,-3};
v[432]={21,7,1,1,-1,-1,-1,-1,-1};
v[433]={21,8,1,-1,-1,3,-3,-3,-3,-3,-3,-3};
v[434]={21,9,1,-1,-1,-1,3,-3,-3,-3,-3};
v[435]={21,10,-1,-1,-1,-1,-2,-2,-2,-2,3};
v[436]={21,12,-2,-2,-2,-2,-2,-2,3,3};
v[437]={21,13,-1,-1,-1,2,2,-2,-3,-3,-3};
v[438]={21,14,-1,-1,-1,2,2,-2,-2,-3};
v[439]={21,15,-1,-1,-1,-1,-1,-1,3};
v[440]={21,16,-1,2,-2,-2,-2,-2,-2,3};
v[441]={21,18,-1,-1,-1,3,3,-3,-3,-3,-3};
v[442]={21,20,-1,-2,-2,-2,-2,-2,3,3};
v[443]={21,21,-1,-1,-1,-1,-1,3,3};
v[444]={21,22,2,2,-2,3,-3,-3,-3,-3,-3,-3};
v[445]={21,25,1,-1,-1,-2,3,3,3,3,3,3};
v[446]={21,26,-1,2,2,2,2,-2,-2,3};
v[447]={21,27,-1,2,2,3,-3,-3,-3,-3,-3};
v[448]={21,28,1,-2,3,3,-3,-3,-3,-3,-3};
v[449]={21,29,1,-1,-1,2,2,2,-2,3};
v[450]={21,30,2,-2,-2,-2,-2,-2,3,3};
v[451]={21,31,-1,2,2,2,2,-2,3,-3};
v[452]={21,34,-1,2,-2,-2,3,3,3,3,3,3};
v[453]={21,35,1,1,1,1,1,-1,-1};
v[454]={21,36,1,1,1,1,1,-1,-1,3};
v[455]={21,37,1,1,1,1,1,-1,-1,3,3};
v[456]={21,38,2,2,2,2,2,2,-2,3,3,-3};
v[457]={21,40,2,2,-2,-2,-2,-2,3,3};
v[458]={21,42,1,1,3,3,-3,-3,-3,-3,-3};
v[459]={21,45,-1,-1,-1,3,3,3,3,3,-3};
v[460]={21,56,1,-2,3,3,3,3,3,-3,-3};
v[461]={21,63,2,-2,-2,3,3,3,3,3,3,-3};
v[462]={21,70,-2,-2,3,3,3,3,3,-3,-3};
v[463]={22,7,-1,-1,-1,-1,-1,-1,-1,2};
v[464]={22,8,-1,2,2,-2,-2,-2,-2,-2,-3};
v[465]={22,10,-1,2,-2,-2,-2,3,-3,-3,-3};
v[466]={22,12,-1,-1,-1,-1,-1,-2,-2,3,-3};
v[467]={22,14,-1,-1,2,-2,-2,-2,3,-3};
v[468]={22,15,-1,-1,-1,-1,-1,-1,3,-3};
v[469]={22,16,-1,-1,-1,-1,2,2,-2};
v[470]={22,17,-1,-1,-1,-2,3,3,-3,-3};
v[471]={22,18,1,-1,-1,2,2,-2,-2};
v[472]={22,21,-2,-2,-2,3,3,-3,-3,-3,-3,-3};
v[473]={22,22,-1,-1,-1,2,2,2,-2};
v[474]={22,24,-1,-1,-1,-1,2,2,2};
v[475]={22,26,-1,2,2,-2,-2,3,3,3,3};
v[476]={22,27,-1,-1,2,2,2,2,3,-3};
v[477]={22,28,-1,-1,-1,-1,2,2,3,3};
v[478]={22,30,-1,-1,-1,2,3,3,3,-3};
v[479]={22,34,-1,-1,2,2,2,3,3,3,-3};
v[480]={22,36,1,1,-1,-1,-1,2,2,3,3};
v[481]={22,39,1,-1,-1,-1,2,2,2,2,3,3};
v[482]={22,42,1,1,1,1,1,-1,-1,2};
v[483]={22,43,1,1,1,1,1,-1,-1,2,3};
v[484]={22,44,1,1,1,1,1,-1,-1,2,3,3};
v[485]={23,7,-1,-1,-1,-1,-1,-1,-1,2,-2};
v[486]={23,9,-1,2,2,-2,-2,-2,-2,-2,-3,-3};
v[487]={23,12,1,-1,-1,-1,-2,3,-3,-3,-3};
v[488]={23,13,-1,-1,2,2,-2,-2,-2,-2,-3};
v[489]={23,14,-1,-1,-2,-2,3,3,-3,-3};
v[490]={23,15,-1,-1,-1,-1,-1,-1,3,-3,-3};
v[491]={23,18,-2,-2,-2,-2,-2,-2,3,3,-3};
v[492]={23,24,-1,-1,-2,-2,3,3,3,3};
v[493]={23,32,-1,-1,-1,-1,2,3,3,3,3};
v[494]={23,33,1,1,1,-1,-1,-1,3,3,3};
v[495]={23,35,-1,2,2,2,2,2,2,2,3,-3};
v[496]={23,37,-1,-1,2,2,2,2,2,-2,3};
v[497]={23,41,1,1,-1,-1,-1,2,2,3,3,3};
v[498]={23,45,2,2,2,-2,-2,-2,3,3,3};
v[499]={23,49,1,1,1,1,1,-1,-1,2,2};
v[500]={23,50,1,1,1,1,1,-1,-1,2,2,3};
v[501]={24,6,2,-2,-2,-2,3,-3,-3,-3,-3,-3};
v[502]={24,7,-1,-1,-1,-1,-1,-1,-1,2,-2,-2};
v[503]={24,10,2,2,-2,-2,3,-3,-3,-3};
v[504]={24,11,1,-1,-1,-1,2,-2,-2,-2,-2};
v[505]={24,14,-1,-1,-1,2,2,-2,-3,-3,-3,-3};
v[506]={24,15,-1,-1,-1,2,2,-2,-2,-3,-3};
v[507]={24,17,1,1,-1,-1,3,-3,-3,-3};
v[508]={24,18,-1,-1,-1,2,-2,-2,3,-3};
v[509]={24,19,2,2,2,-2,3,3,3,3,3,-3};
v[510]={24,22,1,1,-1,-1,3,3,3,-3};
v[511]={24,23,-1,-1,2,2,3,-3,-3,-3};
v[512]={24,25,2,2,-2,-2,3,3,3,-3};
v[513]={24,26,-1,-1,2,-2,3,3,3,-3};
v[514]={24,31,-1,-1,-1,2,2,-2,3,3};
v[515]={24,36,1,-1,-1,2,2,2,-2,3,3};
v[516]={24,39,1,1,1,-1,-1,-1,3,3,3,3};
v[517]={24,41,1,-1,-1,-1,2,2,2,2,2};
v[518]={24,56,1,1,1,1,1,-1,-1,2,2,2};
v[519]={25,10,2,-2,-2,-2,-2,3,-3,-3,-3,-3};
v[520]={25,11,-1,-1,-1,-1,-2,-2,-2,-2,-2,3};
v[521]={25,13,1,-1,-1,-1,-1,2,-2,-2};
v[522]={25,14,1,-1,-1,-1,-1,3,-3,-3,-3};
v[523]={25,15,-1,2,-2,3,3,-3,-3,-3};
v[524]={25,16,-1,-1,-1,2,2,-2,-2,-2};
v[525]={25,17,1,-1,-1,-1,-1,-2,3,-3};
v[526]={25,18,-1,-1,-2,-2,-2,3,3,-3};
v[527]={25,19,-1,2,2,-2,-2,3,-3,-3};
v[528]={25,20,-2,-2,-2,-2,3,3,3,3};
v[529]={25,21,-1,-1,-1,2,3,-3,-3,-3,-3,-3};
v[530]={25,24,2,-2,-2,-2,3,3,-3,-3};
v[531]={25,26,-1,-1,2,-2,-2,3,3,3};
v[532]={25,28,1,-1,-1,-1,-2,3,3,3};
v[533]={25,30,-1,-2,-2,3,3,3,3,-3};
v[534]={25,31,-1,2,-2,-2,-2,3,3,3};
v[535]={25,33,1,-1,-1,-1,-1,2,3,3};
v[536]={25,35,1,-1,-1,2,2,2,2,-2};
v[537]={25,36,-1,-1,-1,-1,3,3,3,3,3,3};
v[538]={25,37,-1,-1,-1,2,-2,3,3,3,3};
v[539]={25,38,1,1,-1,-1,-1,2,2,2};
v[540]={25,39,-1,-1,-1,-2,3,3,3,3,3,3};
v[541]={25,41,1,-1,-1,-1,-1,3,3,3,3};
v[542]={25,44,-1,-1,2,2,2,2,2,-2,3,3};
v[543]={25,45,1,-1,-1,-1,2,2,2,2,2,3};
v[544]={26,11,-1,2,-2,-2,-2,3,-3,-3,-3,-3};
v[545]={26,13,-1,-1,-1,-1,-1,-2,-2,-2,3};
v[546]={26,15,-1,-1,-1,-1,2,2,-3,-3,-3};
v[547]={26,16,1,-1,-1,-1,-1,-1,2};
v[548]={26,17,-1,-1,2,-2,-2,-2,-2,3};
v[549]={26,18,-1,-2,-2,-2,3,3,-3,-3,-3};
v[550]={26,20,-1,-1,-1,-1,-1,2,2};
v[551]={26,21,-1,2,2,2,-2,-2,-2,-3};
v[552]={26,22,-1,-2,-2,-2,-2,3,3,-3,-3};
v[553]={26,24,-1,-1,2,-2,3,3,-3,-3};
v[554]={26,25,-1,-1,2,2,-2,3,-3,-3};
v[555]={26,26,1,-1,-1,-1,-1,2,2};
v[556]={26,30,1,1,1,-1,-1,-1,2};
v[557]={26,31,-1,-1,2,2,-2,3,3,-3};
v[558]={26,32,-1,-1,2,2,3,3,-3,-3};
v[559]={26,33,-1,-1,-1,-1,2,2,2,3};
v[560]={26,34,-1,2,2,2,-2,3,3,3,-3};
v[561]={26,35,-1,2,2,2,2,2,-2,-3};
v[562]={26,36,-1,-1,-1,-1,2,2,3,3,3};
v[563]={26,43,1,1,-1,-1,-1,2,2,2,3};
v[564]={26,44,-1,-1,2,2,2,3,3,3,3,-3};
v[565]={26,45,-2,-2,-2,3,3,3,-3,-3,-3};
v[566]={26,60,2,2,2,-2,-2,-2,3,3,3,3};
v[567]={27,12,-1,-1,-2,3,3,-3,-3,-3,-3};
v[568]={27,13,-1,-2,-2,3,3,-3,-3,-3,-3};
v[569]={27,16,-1,-1,-1,-1,-1,-1,-2,3};
v[570]={27,17,-1,2,-2,-2,-2,-2,-2,3,-3};
v[571]={27,20,-1,-1,-1,-2,-2,3,3,-3};
v[572]={27,21,-1,2,-2,3,3,3,3,3,-3};
v[573]={27,22,-1,-1,-2,-2,-2,-2,3,3};
v[574]={27,30,-1,-1,2,2,-2,-2,3,3};
v[575]={27,31,-1,-1,-1,2,2,3,3,-3};
v[576]={27,33,-1,2,2,2,2,-2,-2,3,3};
v[577]={27,36,1,1,-1,-1,-1,-1,3,3};
v[578]={27,37,-1,-1,2,2,2,2,3,3,-3};
v[579]={27,39,-1,-1,-1,-1,2,3,3,3,3,3};
v[580]={27,43,1,-1,-1,2,2,2,-2,3,3,3};
v[581]={27,48,1,1,-1,-1,-1,2,2,2,3,3};
v[582]={28,0,3,3,-3,-3,-3,-3,-3,-3};
v[583]={28,1,2,2,-2,-2,-2,-2,-2,-2,-3};
v[584]={28,2,2,2,-2,-2,-2,-2,-2,-2,-3,-3};
v[585]={28,7,-1,-2,3,3,-3,-3,-3,-3,-3};
v[586]={28,8,1,1,-1,-1,-1,-1,-1,-1};
v[587]={28,12,1,-1,-1,-1,2,-2,-2,-2,-2,-2};
v[588]={28,14,-1,-1,2,2,-2,-2,-2,-2,-2};
v[589]={28,16,-1,-1,-1,-1,-1,-1,-2,3,-3};
v[590]={28,17,-1,-1,-1,2,2,-2,-2,-2,-3};
v[591]={28,21,-1,-2,3,3,3,3,3,3,-3};
v[592]={28,22,-1,-1,-1,-1,2,-2,3,-3};
v[593]={28,25,-1,-1,-1,-1,-2,3,3,-3};
v[594]={28,28,-1,-1,-1,-2,3,3,3,-3};
v[595]={28,30,-1,-1,-1,2,3,3,-3,-3};
v[596]={28,33,-1,-1,-1,-1,-2,3,3,3};
v[597]={28,35,-1,2,2,3,-3,-3,-3,-3,-3,-3};
v[598]={28,36,-1,-1,-1,-1,3,3,3,-3};
v[599]={28,42,-1,2,2,2,2,2,-2,-2,3};
v[600]={28,43,-1,2,2,2,2,-2,3,3,-3};
v[601]={28,49,-1,2,2,3,3,3,3,3,-3,-3};
v[602]={28,52,1,-1,-1,-1,2,2,2,2,2,2};
v[603]={28,56,1,1,1,1,1,1,-1,-1};
v[604]={28,57,1,1,1,1,1,1,-1,-1,3};
v[605]={28,58,1,1,1,1,1,1,-1,-1,3,3};
v[606]={28,63,-1,-1,-1,3,3,3,3,3,3,-3};
v[607]={28,70,2,2,2,2,2,2,-2,-2,-3};
v[608]={28,84,1,-2,3,3,3,3,3,3,-3,-3};
v[609]={28,112,-2,-2,3,3,3,3,3,3,-3,-3};
v[610]={29,8,-1,-1,-1,-1,-1,-1,-1,-1,2};
v[611]={29,9,-1,2,2,-2,-2,-2,-2,-2,-2,-3};
v[612]={29,16,-1,-1,-1,-1,-1,-1,-2,3,-3,-3};
v[613]={29,21,-1,-1,-1,2,-2,-2,-2,3};
v[614]={29,35,-1,-1,-1,2,2,2,-2,3};
v[615]={29,36,-1,2,2,2,2,2,2,2,2,-3};
v[616]={29,48,1,1,1,-1,-1,-1,2,3,3,3};
v[617]={29,64,1,1,1,1,1,1,-1,-1,2};
v[618]={29,65,1,1,1,1,1,1,-1,-1,2,3};
v[619]={30,6,2,-2,3,3,-3,-3,-3,-3};
v[620]={30,8,-1,-1,-1,-1,-1,-1,-1,-1,2,-2};
v[621]={30,13,2,2,-2,-2,-2,3,-3,-3};
v[622]={30,14,2,2,-2,-2,3,-3,-3,-3,-3};
v[623]={30,15,2,-2,-2,3,3,-3,-3,-3};
v[624]={30,16,-1,-1,-1,-1,2,2,-3,-3,-3,-3};
v[625]={30,18,-1,-1,-1,-1,2,2,-2,-3,-3};
v[626]={30,19,-1,2,-2,-2,3,3,-3,-3};
v[627]={30,20,2,-2,3,3,3,3,-3,-3};
v[628]={30,21,2,2,-2,-2,-2,-2,3,-3};
v[629]={30,22,1,-1,-1,-2,3,3,-3,-3};
v[630]={30,25,-1,-2,-2,3,3,3,-3,-3};
v[631]={30,26,-1,2,-2,-2,3,3,3,-3};
v[632]={30,27,-1,-1,2,2,-2,-2,3,-3};
v[633]={30,28,1,-1,-1,-2,3,3,3,-3};
v[634]={30,30,2,-2,-2,3,3,3,-3,-3};
v[635]={30,31,-1,2,-2,-2,-2,-2,3,3};
v[636]={30,34,-1,-1,2,2,2,-2,3,-3};
v[637]={30,35,-1,-1,2,2,2,-2,-2,3};
v[638]={30,36,-1,-1,2,3,3,-3,-3,-3,-3};
v[639]={30,41,-2,-2,-2,-2,3,3,3,-3,-3};
v[640]={30,42,-1,-1,-1,-1,2,2,2,3,3};
v[641]={30,43,-1,-1,-1,2,2,-2,3,3,3};
v[642]={30,44,1,-1,-1,-1,-1,2,3,3,3};
v[643]={30,45,-1,-1,-1,2,3,3,3,3,-3};
v[644]={30,48,-1,-1,-1,2,-2,3,3,3,3,3};
v[645]={30,50,-1,-1,2,3,3,3,3,-3,-3};
v[646]={30,51,1,1,-1,-1,-1,2,2,2,2};
v[647]={30,60,2,-2,-2,-2,3,3,3,3,-3};
v[648]={30,72,1,1,1,1,1,1,-1,-1,2,2};
v[649]={31,14,-1,-1,-1,-1,-1,-2,-2,-2,-2,3};
v[650]={31,17,-1,-1,-2,-2,3,3,-3,-3,-3};
v[651]={31,18,-1,-1,-1,2,2,-2,-2,-2,-3,-3};
v[652]={31,20,-2,-2,-2,-2,-2,3,3,3};
v[653]={31,21,-1,2,2,-2,-2,-2,3,-3};
v[654]={31,24,-1,-1,-1,-2,-2,-2,3,3};
v[655]={31,25,-1,2,-2,-2,-2,3,3,-3};
v[656]={31,26,-1,2,2,-2,-2,3,3,-3};
v[657]={31,27,-1,-1,-1,2,2,3,-3,-3};
v[658]={31,30,-1,2,2,-2,-2,-2,3,3};
v[659]={31,31,2,2,-2,-2,-2,3,3,-3};
v[660]={31,33,-1,-1,-1,2,2,2,3,-3};
v[661]={31,35,-1,-1,-2,-2,3,3,3,3,3};
v[662]={31,38,1,-1,-1,-1,-1,2,2,3};
v[663]={31,40,-1,-1,-1,-1,2,2,2,2};
v[664]={31,51,1,-1,-1,2,2,2,2,-2,3,3};
v[665]={31,56,1,1,-1,-1,-1,2,2,2,2,3};
v[666]={32,17,1,-1,-1,-1,-1,-1,2,-2};
v[667]={32,18,-1,-1,2,-2,-2,-2,3,-3,-3,-3};
v[668]={32,19,-1,-1,2,-2,-2,-2,-2,3,-3};
v[669]={32,23,-1,-1,-1,-1,2,3,-3,-3,-3};
v[670]={32,39,1,-1,-1,-1,-2,3,3,3,3};
v[671]={32,41,-1,-1,2,2,2,2,2,3,-3};
v[672]={32,46,1,1,1,-1,-1,-1,2,2};
v[673]={32,48,-1,-1,2,2,2,2,3,3,3,-3};
v[674]={33,17,-1,-1,-1,-1,-1,-1,-2,-2,3};
v[675]={33,18,-1,2,-2,-2,-2,-2,-2,3,-3,-3};
v[676]={33,19,-1,-1,-1,2,2,-2,-2,-2,-2};
v[677]={33,23,1,-1,-1,-1,-1,-1,3,-3,-3};
v[678]={33,25,-1,-1,-1,-1,-1,2,3,-3};
v[679]={33,26,-1,-1,-1,-1,2,-2,-2,3};
v[680]={33,27,-1,-2,-2,-2,-2,-2,-2,3,3};
v[681]={33,28,-1,-1,-1,-1,-2,-2,3,3};
v[682]={33,30,1,1,-1,-1,-1,3,3,-3};
v[683]={33,31,-1,-1,-1,2,2,-2,3,-3};
v[684]={33,33,-1,-1,-1,2,-2,-2,3,3};
v[685]={33,36,-1,-1,-1,-1,2,-2,3,3};
v[686]={33,38,1,-1,-1,-1,2,2,-2,3};
v[687]={33,41,-1,2,2,2,2,-2,-2,3,3,3};
v[688]={33,45,2,-2,-2,-2,-2,-2,3,3,-3};
v[689]={33,51,-1,2,2,2,2,2,-2,3,-3};
v[690]={33,52,1,1,1,-1,-1,-1,2,2,3};
v[691]={33,61,2,2,-2,-2,-2,-2,3,3,3};
v[692]={34,17,-1,-1,-1,-1,-1,-1,-2,-2,3,-3};
v[693]={34,19,-1,-1,-1,-1,2,2,-2,-3,-3,-3};
v[694]={34,21,-1,-2,-2,-2,3,3,-3,-3,-3,-3};
v[695]={34,22,-1,-1,-2,-2,-2,3,3,-3,-3};
v[696]={34,26,-1,2,2,-2,-2,3,-3,-3,-3};
v[697]={34,34,-1,2,2,-2,3,-3,-3,-3,-3,-3};
v[698]={34,38,-1,-1,2,-2,-2,3,3,3,3};
v[699]={34,44,-1,2,2,2,-2,3,3,3,3,-3};
v[700]={34,49,-1,2,-2,-2,-2,3,3,3,3};
v[701]={34,51,-1,-1,-1,-1,2,2,2,3,3,3};
v[702]={34,58,1,1,1,-1,-1,-1,2,2,3,3};
v[703]={34,63,-1,-2,-2,-2,3,3,3,3,3,3};
v[704]={35,0,3,3,3,-3,-3,-3,-3};
v[705]={35,7,2,2,2,-2,-2,-2,-2,-3};
v[706]={35,14,-1,-1,-2,3,3,-3,-3,-3,-3,-3};
v[707]={35,15,-1,-2,3,3,3,-3,-3,-3};
v[708]={35,19,1,-1,-1,-1,-1,-2,3,-3,-3,-3};
v[709]={35,20,-1,-2,3,3,3,3,-3,-3};
v[710]={35,21,1,1,1,-1,-1,-1,-1};
v[711]={35,23,-1,2,-2,-2,-2,-2,-2,-2,3,-3};
v[712]={35,25,1,-1,-1,2,2,-2,-2,-2};
v[713]={35,26,-1,2,2,-2,-2,-2,-2,3};
v[714]={35,28,-1,2,-2,3,3,3,3,3,3,-3};
v[715]={35,29,-1,-1,-1,2,2,2,-2,-3};
v[716]={35,30,-1,2,2,2,-2,-2,-2,3};
v[717]={35,31,-1,-1,2,2,3,-3,-3,-3,-3};
v[718]={35,35,1,1,1,1,-1,-1,-1};
v[719]={35,36,-1,-1,-1,2,2,2,2,-3};
v[720]={35,40,-1,-1,2,2,2,2,-2,-2};
v[721]={35,42,-2,-2,3,3,3,-3,-3,-3,-3};
v[722]={35,44,2,-2,-2,-2,-2,3,3,3,3};
v[723]={35,45,-1,-1,-1,3,3,3,-3,-3,-3};
v[724]={35,49,1,-1,-2,3,3,3,3,3,3,-3};
v[725]={35,50,-1,2,2,3,3,-3,-3,-3,-3};
v[726]={35,55,-1,2,2,3,3,3,-3,-3,-3};
v[727]={35,56,1,-2,3,3,3,-3,-3,-3,-3};
v[728]={35,60,-1,-1,-1,3,3,3,3,-3,-3};
v[729]={35,65,1,1,-1,-1,-1,2,2,2,2,2};
v[730]={35,70,-2,-2,3,3,3,3,-3,-3,-3};
v[731]={36,0,3,3,-3,-3,-3,-3,-3,-3,-3};
v[732]={36,1,2,2,-2,-2,-2,-2,-2,-2,-2,-3};
v[733]={36,8,-1,-2,3,3,-3,-3,-3,-3,-3,-3};
v[734]={36,9,1,1,-1,-1,-1,-1,-1,-1,-1};
v[735]={36,14,-2,-2,-2,-2,-2,-2,-2,3,3};
v[736]={36,16,-1,-1,2,2,-2,-2,-2,-2,-2,-2};
v[737]={36,19,2,2,-2,-2,3,-3,-3,-3,-3,-3};
v[738]={36,20,-1,-1,-1,2,2,-2,-2,-2,-2,-3};
v[739]={36,21,-1,-1,-1,-1,-1,-1,-1,3};
v[740]={36,22,-1,-1,-1,-1,-1,2,2,-3,-3};
v[741]={36,24,-1,-1,-1,2,-2,-2,-2,3,-3};
v[742]={36,25,1,1,-1,-1,3,-3,-3,-3,-3,-3};
v[743]={36,26,-1,-1,-1,-1,2,-2,3,-3,-3};
v[744]={36,27,1,-1,-1,-1,-1,-1,-2,3};
v[745]={36,28,-1,-2,3,3,3,3,3,3,3,-3};
v[746]={36,29,-1,2,-2,-2,-2,-2,-2,-2,-2,3};
v[747]={36,30,-1,-1,-2,3,3,3,3,3,-3};
v[748]={36,33,-1,-1,-1,-1,-1,-2,3,3};
v[749]={36,36,1,-1,-1,-1,-1,-2,3,3};
v[750]={36,39,1,1,-1,-1,3,3,3,3,3,-3};
v[751]={36,42,1,-1,-1,-1,-1,-1,3,3};
v[752]={36,47,1,-1,-1,-1,2,-2,3,3,3};
v[753]={36,49,-1,-1,-1,2,2,2,-2,3,3};
v[754]={36,50,-1,-2,-2,3,3,3,3,3,-3};
v[755]={36,56,-1,2,2,2,2,-2,3,3,3,-3};
v[756]={36,60,1,-1,-1,2,2,2,2,2,-2,3};
v[757]={36,61,2,2,-2,-2,3,3,3,3,3,-3};
v[758]={36,64,-1,2,2,2,2,2,2,-2,-2,3};
v[759]={36,84,1,1,1,1,1,1,1,-1,-1};
v[760]={36,85,1,1,1,1,1,1,1,-1,-1,3};
v[761]={36,126,2,2,2,2,2,2,2,-2,-2,-3};
v[762]={37,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,2};
v[763]={37,21,-1,-1,-1,-1,-1,-1,-1,3,-3};
v[764]={37,23,-1,-1,2,-2,-2,-2,-2,-2,3};
v[765]={37,25,-1,-1,-1,-2,-2,3,3,-3,-3};
v[766]={37,27,-1,-1,-2,-2,-2,-2,3,3,-3};
v[767]={37,44,-1,-1,2,2,-2,-2,3,3,3};
v[768]={37,47,-1,-1,2,2,2,2,2,2,-3};
v[769]={37,49,1,1,1,1,-1,-1,-1,3,3};
v[770]={37,93,1,1,1,1,1,1,1,-1,-1,2};
v[771]={38,18,1,-1,-1,-1,-1,-1,2,-2,-2};
v[772]={38,21,-2,-2,-2,-2,-2,-2,-2,3,3,-3};
v[773]={38,25,-1,-1,-1,-1,-1,2,2,-2};
v[774]={38,31,-1,-1,-1,-1,-1,2,-2,3};
v[775]={38,33,-1,-1,-1,-1,2,2,2,-3};
v[776]={38,34,-1,-1,2,2,-2,3,-3,-3,-3};
v[777]={38,38,-1,-1,-1,-1,2,2,-2,3};
v[778]={38,40,-1,-1,-1,-1,-1,2,2,3};
v[779]={38,46,1,-1,-1,-1,-1,2,2,2};
v[780]={38,49,-1,-1,2,2,-2,3,3,3,-3};
v[781]={38,53,-1,-1,2,2,2,2,2,3,3,-3};
v[782]={38,56,1,1,1,1,-1,-1,-1,3,3,3};
v[783]={38,63,1,1,1,-1,-1,-1,2,2,2};
v[784]={39,18,-1,-1,-1,-1,-1,-1,-2,-2,-2,3};
v[785]={39,22,-1,-1,-1,-1,2,2,-2,-2,-3,-3};
v[786]={39,24,1,-1,-1,-1,-1,-1,3,-3,-3,-3};
v[787]={39,25,-1,-1,-1,-2,3,3,-3,-3,-3,-3};
v[788]={39,27,-1,-1,-1,-1,2,3,-3,-3,-3,-3};
v[789]={39,32,-1,-1,-1,-1,-2,3,3,-3,-3};
v[790]={39,36,-1,-1,-1,-1,3,3,-3,-3,-3,-3};
v[791]={39,51,1,-1,-1,-1,-2,3,3,3,3,3};
v[792]={39,52,-1,-1,-1,-1,-2,3,3,3,3};
v[793]={39,60,-1,-1,-1,-1,2,2,2,2,3,3};
v[794]={39,63,-1,-1,-1,2,3,3,3,3,3,-3};
v[795]={39,66,1,-1,-1,-1,3,3,3,3,3,-3};
v[796]={39,69,1,1,1,-1,-1,-1,2,2,2,3};
v[797]={40,16,2,2,-2,-2,-2,3,-3,-3,-3};
v[798]={40,20,-1,-1,-2,-2,3,3,-3,-3,-3,-3};
v[799]={40,31,1,-1,-1,-1,2,2,-2,-2};
v[800]={40,35,-1,-1,-1,2,2,2,-2,-2};
v[801]={40,40,1,-1,-1,2,2,2,-2,-2};
v[802]={40,44,1,-1,-1,-1,2,2,2,-2};
v[803]={40,48,-1,-1,-2,-2,3,3,3,3,3,3};
v[804]={40,55,-1,-1,2,2,3,3,3,-3,-3};
v[805]={41,23,-1,-1,-1,-1,-1,2,2,-3,-3,-3};
v[806]={41,24,-1,-1,-1,-1,2,2,-2,-2,-2};
v[807]={41,25,1,1,-1,-1,-1,3,-3,-3,-3};
v[808]={41,30,-2,-2,-2,-2,3,3,3,3,3};
v[809]={41,32,-1,-1,-2,-2,-2,-2,-2,3,3};
v[810]={41,33,-1,-2,-2,-2,-2,-2,-2,3,3,-3};
v[811]={41,46,-1,-1,-1,-1,-1,3,3,3,3};
v[812]={41,52,-1,-1,2,2,2,-2,-2,3,3};
v[813]={41,60,-1,-1,-1,-1,2,2,2,2,2};
v[814]={41,62,1,-1,-1,-1,-1,2,2,3,3,3};
v[815]={41,68,-1,2,2,2,2,2,-2,3,3,-3};
v[816]={42,7,2,-2,3,3,-3,-3,-3,-3,-3};
v[817]={42,21,1,-1,3,3,-3,-3,-3,-3,-3};
v[818]={42,22,1,-1,-1,-1,-1,-1,-1,2};
v[819]={42,28,-1,2,2,2,-2,-2,-2,-2,-3};
v[820]={42,30,-1,-1,-1,-1,2,-2,-2,3,-3};
v[821]={42,35,2,-2,3,3,3,3,3,-3,-3};
v[822]={42,36,-1,-1,-1,-1,-1,-1,2,3};
v[823]={42,42,1,-1,-1,-1,-1,-1,2,3};
v[824]={42,49,-1,-1,2,3,3,-3,-3,-3,-3,-3};
v[825]={42,55,1,-1,-1,-1,2,2,-2,3,3};
v[826]={42,56,1,1,1,1,-1,-1,-1,2};
v[827]={42,58,1,1,-1,-1,-1,-1,2,3,3};
v[828]={42,63,-2,-2,-2,3,3,3,-3,-3,-3,-3};
v[829]={42,70,2,2,2,-2,-2,-2,-2,3,3};
v[830]={42,77,-1,-1,2,3,3,3,3,3,-3,-3};
v[831]={43,22,-1,-1,-1,-1,-1,-1,-1,-2,3};
v[832]={43,26,-1,-1,-1,-1,-1,2,2,-2,-3};
v[833]={43,27,-1,-1,-1,2,-2,-2,-2,3,-3,-3};
v[834]={43,28,-1,2,2,-2,-2,-2,3,-3,-3};
v[835]={43,30,-1,-1,-1,-2,-2,-2,3,3,-3};
v[836]={43,50,-1,2,2,-2,-2,-2,3,3,3};
v[837]={43,51,-1,-1,-1,2,2,2,3,3,-3};
v[838]={43,56,-1,-1,-1,2,2,2,2,-2,3};
v[839]={43,59,1,-1,-1,-1,-1,2,2,2,3};
v[840]={43,63,1,1,1,1,-1,-1,-1,2,3};
v[841]={43,64,-1,-1,-1,2,2,2,-2,3,3,3};
v[842]={44,19,1,-1,-1,-1,-1,-1,2,-2,-2,-2};
v[843]={44,22,-1,-1,-1,-1,-1,-1,-1,-2,3,-3};
v[844]={44,25,-1,-1,2,-2,-2,-2,-2,-2,3,-3};
v[845]={44,26,-1,-1,-2,-2,-2,3,3,-3,-3,-3};
v[846]={44,30,-1,-1,-1,-1,-1,2,3,-3,-3};
v[847]={44,34,-1,2,2,-2,-2,3,-3,-3,-3,-3};
v[848]={44,35,-2,-2,-2,-2,-2,3,3,3,-3};
v[849]={44,37,-1,-1,2,2,-2,-2,3,-3,-3};
v[850]={44,52,-1,-1,2,-2,-2,3,3,3,3,3};
v[851]={44,53,-1,-1,-1,-1,-1,2,3,3,3};
v[852]={44,56,-1,-1,2,2,2,-2,3,3,-3};
v[853]={44,60,-1,-1,2,2,2,2,2,2,3,-3};
v[854]={44,61,2,2,-2,-2,-2,3,3,3,-3};
v[855]={44,62,1,-1,-1,-1,2,-2,3,3,3,3};
v[856]={44,70,1,1,1,1,-1,-1,-1,2,3,3};
v[857]={44,71,-1,2,-2,-2,-2,3,3,3,3,3};
v[858]={44,81,1,1,1,-1,-1,-1,2,2,2,2};
v[859]={44,90,2,-2,-2,-2,3,3,3,3,3,-3};
v[860]={45,0,3,3,-3,-3,-3,-3,-3,-3,-3,-3};
v[861]={45,10,1,1,-1,-1,-1,-1,-1,-1,-1,-1};
v[862]={45,18,2,-2,-2,3,3,-3,-3,-3,-3};
v[863]={45,21,1,-1,-1,3,3,-3,-3,-3,-3};
v[864]={45,23,2,2,-2,-2,-2,-2,3,-3,-3};
v[865]={45,25,-1,-1,-1,-1,2,2,-2,-2,-2,-3};
v[866]={45,26,2,2,-2,3,3,-3,-3,-3,-3};
v[867]={45,30,1,-1,-1,-2,3,3,-3,-3,-3};
v[868]={45,33,2,2,2,2,-2,-2,3,3,-3};
v[869]={45,35,1,-1,-1,3,3,3,3,-3,-3};
v[870]={45,45,-2,-2,-2,-2,3,3,3,3,-3};
v[871]={45,49,-1,-2,-2,-2,-2,3,3,3,-3};
v[872]={45,50,-1,-1,-1,-2,3,3,3,3,-3};
v[873]={45,56,-1,-2,-2,-2,-2,3,3,3,3};
v[874]={45,60,2,-2,-2,3,3,3,3,-3,-3};
v[875]={45,71,-1,-1,-1,-1,2,2,2,2,2,3};
v[876]={45,120,1,1,1,1,1,1,1,1,-1,-1};
v[877]={46,32,-1,-1,-1,-1,-1,-1,2,2};
v[878]={46,38,1,-1,-1,-1,-1,2,2,-2};
v[879]={46,41,-1,-1,-1,-1,-1,3,3,-3,-3};
v[880]={46,46,-1,-1,-1,-1,-1,2,2,2};
v[881]={46,50,1,1,-1,-1,-1,3,3,3,-3};
v[882]={46,52,1,1,-1,-1,-1,-1,2,2};
v[883]={47,36,-1,-1,-1,-1,-2,-2,3,3,-3};
v[884]={47,37,-1,-1,2,2,2,-2,-2,-2,-3};
v[885]={47,50,-1,-1,-1,-2,-2,3,3,3,3};
v[886]={47,58,-1,-1,-1,-1,2,-2,3,3,3};
v[887]={47,61,-1,-1,2,2,2,2,-2,-2,3};
v[888]={48,27,-1,-1,-1,-1,-1,2,2,-2,-3,-3};
v[889]={48,29,1,-1,-1,-1,-1,-1,-2,3,-3,-3};
v[890]={48,30,-1,-1,-1,-2,-2,3,3,-3,-3,-3};
v[891]={48,32,-1,-1,-2,-2,-2,-2,3,3,-3,-3};
v[892]={48,40,-1,-1,2,2,3,-3,-3,-3,-3,-3};
v[893]={48,57,-1,-1,2,-2,3,3,3,3,3,-3};
v[894]={48,60,-1,-1,2,2,-2,-2,3,3,3,3};
v[895]={48,66,-1,-1,-1,2,2,3,3,3,3,-3};
v[896]={48,72,1,-1,-1,-1,-1,2,2,2,3,3};
v[897]={48,74,1,1,-1,-1,-1,-1,2,3,3,3};
v[898]={49,23,1,-1,-1,-1,-1,-1,-1,2,-2};
v[899]={49,28,-1,2,-2,3,3,-3,-3,-3,-3,-3};
v[900]={49,34,-1,2,-2,-2,-2,3,3,-3,-3};
v[901]={49,35,1,-1,-2,3,3,-3,-3,-3,-3,-3};
v[902]={49,36,-1,-1,-1,-2,-2,-2,-2,3,3};
v[903]={49,37,1,-1,-1,-1,-1,-1,-1,3,-3};
v[904]={49,38,-1,-1,2,-2,-2,3,3,-3,-3};
v[905]={49,42,-1,-1,-2,3,3,3,3,3,3,-3};
v[906]={49,45,-1,2,2,-2,-2,3,3,3,-3};
v[907]={49,56,-1,-1,-2,-2,-2,3,3,3,3};
v[908]={49,57,-1,-1,-1,2,2,2,2,3,-3};
v[909]={49,63,1,1,1,-1,-1,-1,-1,3,3};
v[910]={49,77,-1,-2,-2,3,3,3,3,3,3,-3};
v[911]={49,78,1,1,1,1,-1,-1,-1,2,2};
v[912]={50,20,2,2,-2,-2,-2,3,-3,-3,-3,-3};
v[913]={50,23,-1,-1,-1,-1,-1,-1,-1,-2,-2,3};
v[914]={50,30,-1,-1,-2,3,3,3,-3,-3,-3};
v[915]={50,35,-1,2,-2,3,3,3,3,-3,-3};
v[916]={50,36,-1,-2,-2,3,3,3,-3,-3,-3};
v[917]={50,43,-1,2,-2,-2,-2,-2,3,3,-3};
v[918]={50,45,-1,-1,-1,-2,3,3,3,-3,-3};
v[919]={50,46,1,-1,-1,-1,-1,3,3,-3,-3};
v[920]={50,47,-1,-1,-1,2,-2,3,3,-3,-3};
v[921]={50,50,-1,-1,2,-2,3,3,3,-3,-3};
v[922]={50,51,-1,2,2,2,-2,-2,3,3,-3};
v[923]={50,55,-1,-1,2,2,3,3,-3,-3,-3};
v[924]={50,58,-1,-1,-1,2,-2,3,3,3,-3};
v[925]={50,60,-1,-1,-1,2,3,3,3,-3,-3};
v[926]={50,61,-1,-1,-1,-1,-1,2,2,3,3};
v[927]={50,64,1,-1,-1,-1,2,2,2,-2,3};
v[928]={50,70,-1,-1,2,2,2,2,2,2,2,-3};
v[929]={50,78,-1,2,2,2,2,2,2,-2,3,-3};
v[930]={50,85,1,1,1,1,-1,-1,-1,2,2,3};
v[931]={51,30,-1,-1,-1,-1,-1,2,2,-2,-2};
v[932]={51,31,-1,-1,-1,2,-2,-2,-2,-2,3,-3};
v[933]={51,33,-1,2,2,-2,-2,-2,-2,3,-3};
v[934]={51,34,-1,-1,-1,-1,2,-2,-2,3,-3,-3};
v[935]={51,39,-1,-1,-1,-1,-2,3,3,-3,-3,-3};
v[936]={51,43,-1,-1,-1,2,2,-2,3,-3,-3};
v[937]={51,50,-1,-2,-2,-2,-2,-2,3,3,3};
v[938]={51,51,2,-2,-2,-2,-2,-2,3,3,3};
v[939]={51,57,-1,-1,-1,2,-2,-2,3,3,3};
v[940]={51,60,2,-2,-2,-2,-2,-2,3,3,-3,-3};
v[941]={51,61,2,2,-2,-2,-2,-2,3,3,-3};
v[942]={51,62,-1,2,-2,-2,-2,-2,3,3,3};
v[943]={51,64,1,-1,-1,-1,-1,-1,3,3,3};
v[944]={51,65,-1,-1,-1,2,2,2,2,2,-2};
v[945]={51,71,1,-1,-1,-1,-1,2,2,2,2};
v[946]={51,73,-1,-1,-1,2,2,2,2,-2,3,3};
v[947]={51,75,-1,-1,-1,-1,-2,3,3,3,3,3};
v[948]={51,84,2,2,-2,-2,-2,-2,3,3,3,3};
v[949]={52,28,-1,-1,-1,-1,2,2,-2,-2,-2,-2};
v[950]={52,33,-1,-1,-1,-1,-1,-1,2,2,-3};
v[951]={52,39,1,-1,-1,-1,-2,3,3,-3,-3};
v[952]={52,41,-1,-1,2,2,-2,-2,-2,3,-3};
v[953]={52,44,-1,-1,2,2,-2,3,-3,-3,-3,-3};
v[954]={52,58,-1,-1,-1,-1,2,3,3,3,-3};
v[955]={52,61,-1,-1,2,2,2,2,-2,3,-3};
v[956]={52,69,1,1,-1,-1,-1,-1,2,2,3};
v[957]={52,71,-1,-1,2,2,-2,3,3,3,3,-3};
v[958]={52,84,-1,-1,-1,-1,2,2,2,2,2,2};
v[959]={53,38,-1,-1,-2,-2,-2,-2,-2,3,3,-3};
v[960]={53,44,-1,-1,-1,-1,-1,-2,3,3,-3};
v[961]={53,61,1,-1,-1,-1,-1,-2,3,3,3};
v[962]={53,71,-1,-1,2,2,2,-2,-2,3,3,3};
v[963]={55,35,-1,2,-2,3,3,3,-3,-3,-3};
v[964]={55,40,-1,-1,-2,3,3,3,3,-3,-3};
v[965]={55,42,-1,-1,-1,-1,-2,-2,-2,3,3};
v[966]={55,50,-1,-1,-2,-2,3,3,3,3,-3};
v[967]={55,55,-1,-2,-2,3,3,3,3,-3,-3};
v[968]={55,60,2,-2,-2,-2,-2,3,3,3,3,3};
v[969]={55,64,-1,-1,-1,-1,2,2,-2,3,3};
v[970]={55,71,-1,-1,-1,-1,-1,2,3,3,3,3};
v[971]={56,0,3,3,3,-3,-3,-3,-3,-3};
v[972]={56,8,2,2,2,-2,-2,-2,-2,-2,-3};
v[973]={56,21,-1,-2,3,3,3,-3,-3,-3,-3};
v[974]={56,24,1,-1,-1,-1,-1,-1,-1,2,-2,-2};
v[975]={56,28,1,1,1,-1,-1,-1,-1,-1};
v[976]={56,31,-1,-1,-1,-1,-1,2,2,-2,-2,-3};
v[977]={56,35,-1,-2,3,3,3,3,3,-3,-3};
v[978]={56,36,-1,2,2,-2,-2,-2,3,-3,-3,-3};
v[979]={56,38,1,-1,-1,-1,-1,-1,-1,3,-3,-3};
v[980]={56,42,1,1,-1,-1,-1,-1,-1,2};
v[981]={56,43,-1,-1,-1,2,2,2,-2,-2,-3};
v[982]={56,44,-1,-1,2,-2,-2,-2,3,3,-3};
v[983]={56,45,-1,2,2,-2,-2,3,3,-3,-3};
v[984]={56,49,-1,-1,-2,-2,-2,3,3,3,-3};
v[985]={56,52,-1,-1,2,-2,-2,3,3,3,-3};
v[986]={56,56,1,1,1,-1,-1,-1,-1,2};
v[987]={56,57,-1,-1,2,-2,-2,-2,3,3,3};
v[988]={56,63,2,-2,-2,-2,-2,-2,-2,3,3,-3};
v[989]={56,65,-1,-1,-1,2,2,2,2,2,-3};
v[990]={56,70,1,1,1,1,1,-1,-1,-1};
v[991]={56,72,-1,-1,-1,2,2,2,3,3,3,-3};
v[992]={56,75,-1,2,2,-2,-2,-2,3,3,3,3};
v[993]={56,77,-1,2,2,3,3,-3,-3,-3,-3,-3};
v[994]={56,78,2,2,2,2,2,2,-2,-2,3,-3};
v[995]={56,84,1,-2,3,3,3,-3,-3,-3,-3,-3};
v[996]={56,85,1,-1,-1,-1,-1,2,2,2,2,3};
v[997]={56,91,-1,2,2,3,3,3,3,-3,-3,-3};
v[998]={56,101,1,1,1,1,-1,-1,-1,2,2,2};
v[999]={56,105,-2,-2,-2,3,3,3,3,-3,-3,-3};
v[1000]={56,106,2,2,2,-2,-2,-2,-2,3,3,3};
v[1001]={56,112,1,1,3,3,3,-3,-3,-3,-3,-3};
v[1002]={56,126,1,-2,3,3,3,3,3,-3,-3,-3};
v[1003]={56,140,-2,-2,3,3,3,3,3,-3,-3,-3};
v[1004]={57,16,-2,-2,-2,-2,-2,-2,-2,-2,3,3};
v[1005]={57,28,-1,-1,-1,-1,-1,-1,-1,-1,3};
v[1006]={57,48,-1,-1,2,-2,3,3,-3,-3,-3,-3};
v[1007]={57,49,-1,-1,-1,2,2,-2,-2,3,-3};
v[1008]={57,51,-1,-1,-1,2,-2,-2,3,3,-3};
v[1009]={57,56,-1,-1,-2,-2,-2,-2,3,3,3};
v[1010]={57,57,-1,-1,2,2,-2,-2,3,3,-3};
v[1011]={57,62,-1,-1,-1,2,2,-2,3,3,-3};
v[1012]={57,64,-1,-1,-1,2,2,-2,-2,3,3};
v[1013]={57,78,1,1,1,1,1,-1,-1,-1,3};
v[1014]={57,86,-1,-1,2,2,3,3,3,3,-3,-3};
v[1015]={58,28,-1,-1,-1,-1,-1,-1,-1,-1,3,-3};
v[1016]={58,34,-1,-1,-1,-1,-1,-1,2,2,-3,-3};
v[1017]={58,42,-1,-1,-1,-1,-1,-1,2,3,-3};
v[1018]={58,47,-1,-1,-1,-1,2,2,3,-3,-3};
v[1019]={58,50,-1,-1,-1,-2,-2,3,3,3,-3};
v[1020]={58,52,-1,-1,-1,-1,2,3,3,-3,-3};
v[1021]={58,56,1,-1,-1,-1,-2,3,3,3,-3};
v[1022]={58,58,-1,-1,-1,2,2,3,3,-3,-3};
v[1023]={58,61,-1,-1,-1,-1,2,2,3,3,-3};
v[1024]={58,69,1,-1,-1,-1,-1,-1,2,3,3};
v[1025]={58,86,1,1,-1,-1,-1,-1,2,2,3,3};
v[1026]={59,43,-1,-1,-1,-1,-1,2,-2,-2,3};
v[1027]={59,71,-1,-1,-1,-1,-1,2,2,2,3};
v[1028]={60,26,2,2,-2,-2,-2,-2,3,-3,-3,-3};
v[1029]={60,30,2,2,-2,3,3,3,-3,-3,-3};
v[1030]={60,35,1,-1,-1,3,3,3,-3,-3,-3};
v[1031]={60,36,-1,-1,-1,2,-2,-2,-2,-2,-2,3};
v[1032]={60,39,-1,-1,-1,-1,2,-2,-2,-2,3,-3};
v[1033]={60,41,1,-1,-1,-1,2,2,-2,-2,-2};
v[1034]={60,44,-1,-1,-2,-2,-2,-2,-2,-2,3,3};
v[1035]={60,45,2,-2,-2,3,3,3,-3,-3,-3};
v[1036]={60,48,-1,-1,2,2,-2,-2,3,-3,-3,-3};
v[1037]={60,50,1,1,-1,-1,3,3,3,-3,-3};
v[1038]={60,51,2,2,2,2,-2,-2,3,3,3,-3};
v[1039]={60,55,-2,-2,-2,-2,-2,3,3,3,-3,-3};
v[1040]={60,60,1,1,-1,3,3,3,-3,-3,-3};
v[1041]={60,75,1,-1,-1,-1,2,2,2,2,-2};
v[1042]={60,83,-1,-1,2,2,2,-2,3,3,3,-3};
v[1043]={60,84,-1,-1,2,2,2,2,-2,-2,3,3};
v[1044]={60,85,1,-1,-1,-1,2,2,2,-2,3,3};
v[1045]={60,101,2,2,-2,-2,-2,3,3,3,3,-3};
v[1046]={61,33,-2,-2,-2,-2,-2,-2,3,3,3};
v[1047]={61,36,2,-2,-2,-2,3,3,-3,-3,-3,-3};
v[1048]={61,40,-2,-2,-2,-2,-2,3,3,3,3};
v[1049]={61,44,2,2,-2,-2,-2,3,3,-3,-3};
v[1050]={61,47,-1,-1,2,2,-2,-2,-2,-2,3};
v[1051]={61,50,-1,-1,-1,-1,-1,-2,-2,3,3};
v[1052]={61,51,2,2,2,-2,-2,-2,3,3,-3};
v[1053]={61,52,-1,-1,2,-2,-2,-2,-2,3,3};
v[1054]={61,53,1,-1,-1,-1,-1,-2,3,3,-3};
v[1055]={61,58,-1,-1,-1,-1,2,-2,3,3,-3};
v[1056]={61,60,-1,-1,2,2,-2,-2,-2,3,3};
v[1057]={61,61,-1,2,2,-2,-2,-2,-2,3,3};
v[1058]={61,65,-1,-1,2,2,2,2,2,-2,-3};
v[1059]={61,66,-1,-1,-1,-1,-1,-2,3,3,3};
v[1060]={61,69,1,-1,-1,-1,-1,2,-2,3,3};
v[1061]={62,41,-1,-1,-1,-1,-1,2,-2,3,-3,-3};
v[1062]={62,44,-1,-1,-1,-1,-2,-2,3,3,-3,-3};
v[1063]={62,83,-1,-1,-1,-1,-1,2,2,3,3,3};
v[1064]={62,84,-1,-1,-1,-1,2,-2,3,3,3,3};
v[1065]={63,21,2,-2,-2,3,3,-3,-3,-3,-3,-3};
v[1066]={63,28,1,-1,-1,3,3,-3,-3,-3,-3,-3};
v[1067]={63,34,-1,2,-2,-2,3,3,-3,-3,-3,-3};
v[1068]={63,38,-1,-1,-1,-1,-1,-1,2,2,-2};
v[1069]={63,39,1,-1,-1,-2,3,3,-3,-3,-3,-3};
v[1070]={63,42,2,2,-2,3,3,-3,-3,-3,-3,-3};
v[1071]={63,43,1,-1,-1,-1,-1,-1,-1,-2,3};
v[1072]={63,49,1,1,-1,-1,-1,-1,-1,3,-3};
v[1073]={63,56,2,2,2,2,2,-2,-2,3,3,-3};
v[1074]={63,63,1,1,-1,-1,-1,-1,3,3,-3};
v[1075]={63,64,1,-1,-1,-1,-1,-1,3,3,-3};
v[1076]={63,66,1,-1,-1,-2,3,3,3,3,3,-3};
v[1077]={63,71,-1,2,-2,-2,3,3,3,3,3,-3};
v[1078]={63,78,1,1,-1,-1,-1,-1,-1,3,3};
v[1079]={63,84,1,1,-1,-1,-1,-1,2,2,2};
v[1080]={63,105,2,-2,-2,3,3,3,3,3,-3,-3};
v[1081]={64,29,1,-1,-1,-1,-1,-1,-1,-1,2};
v[1082]={64,36,-1,2,2,2,-2,-2,-2,-2,-2,-3};
v[1083]={64,43,-1,-1,-1,-2,-2,-2,-2,3,3,-3};
v[1084]={64,50,-1,-1,-1,-1,2,2,2,-2,-3};
v[1085]={64,51,-1,-1,-1,-1,-1,-1,3,3,-3};
v[1086]={64,55,-1,-1,-1,-1,2,2,-2,3,-3};
v[1087]={64,57,-1,-1,-1,2,-2,-2,-2,3,3};
v[1088]={64,63,-1,-1,-1,-1,-1,-1,3,3,3};
v[1089]={64,64,-1,-1,-1,2,2,2,-2,3,-3};
v[1090]={64,66,-1,-1,-1,-1,2,2,2,3,-3};
v[1091]={64,71,-1,-1,-1,-1,2,2,2,-2,3};
v[1092]={64,81,-1,-1,-1,2,2,2,2,3,3,-3};
v[1093]={64,84,-1,2,2,2,2,2,2,2,-2,-3};
v[1094]={64,98,1,1,1,1,1,-1,-1,-1,2};
v[1095]={65,29,-1,-1,-1,-1,-1,-1,-1,-1,-2,3};
v[1096]={65,35,-1,-1,-1,-1,-1,2,2,-2,-2,-2};
v[1097]={65,51,-1,-1,-1,2,2,2,-2,-2,-2};
v[1098]={65,56,-1,-1,-1,2,2,-2,-2,-2,3};
v[1099]={65,61,-1,-1,2,2,2,2,-2,-2,-3};
v[1100]={65,65,-1,-1,2,2,2,-2,-2,-2,3};
v[1101]={65,70,-1,-1,-1,2,2,2,-2,-2,3};
v[1102]={65,75,1,-1,-1,2,2,2,2,-2,-2};
v[1103]={65,101,1,-1,-1,-1,-1,2,2,2,2,2};
v[1104]={65,106,1,1,1,1,1,-1,-1,-1,2,3};
v[1105]={66,39,1,-1,-1,-1,3,3,-3,-3,-3,-3};
v[1106]={66,48,-1,-1,-1,2,2,3,-3,-3,-3,-3};
v[1107]={66,63,-1,-1,-1,2,3,3,-3,-3,-3,-3};
v[1108]={66,75,-1,-1,-1,-2,-2,3,3,3,3,3};
v[1109]={66,80,-1,-1,-1,-2,3,3,3,3,3,-3};
v[1110]={66,87,1,-1,-1,-1,-1,-1,3,3,3,3};
v[1111]={66,90,-1,-1,-1,-1,3,3,3,3,3,-3};
v[1112]={68,41,-1,2,2,-2,-2,-2,-2,3,-3,-3};
v[1113]={68,78,-1,2,2,2,-2,-2,-2,3,3,3};
v[1114]={69,39,-1,-1,-1,-1,-1,-1,2,2,-2,-3};
v[1115]={69,52,-1,-1,-1,-1,-1,-1,2,-2,3};
v[1116]={69,58,-1,-1,-1,-1,-1,-1,-2,3,3};
v[1117]={69,61,-1,-1,-1,-1,-1,2,2,3,-3};
v[1118]={69,69,-1,-1,-1,-1,-1,2,-2,3,3};
v[1119]={69,72,-1,-1,-1,-1,-1,-1,2,3,3};
v[1120]={69,78,1,-1,-1,-1,-1,-1,2,2,3};
v[1121]={69,102,1,1,-1,-1,-1,-1,2,2,2,3};
v[1122]={70,0,2,3,3,3,3,-3,-3,-3,-3};
v[1123]={70,21,2,-2,3,3,3,-3,-3,-3,-3};
v[1124]={70,28,2,2,2,2,-2,-2,-2,-2,-3};
v[1125]={70,35,2,-2,3,3,3,3,-3,-3,-3};
v[1126]={70,42,2,2,2,-2,-2,-2,-2,3,-3};
v[1127]={70,44,1,-1,-1,-1,-1,-1,-1,-2,3,-3};
v[1128]={70,50,-1,-1,2,2,2,-2,-2,-2,-2,-3};
v[1129]={70,56,-2,3,3,3,3,-3,-3,-3,-3};
v[1130]={70,70,1,3,3,3,3,-3,-3,-3,-3};
v[1131]={70,91,-1,-1,2,3,3,3,-3,-3,-3,-3};
v[1132]={70,98,-1,-1,2,2,2,2,2,-2,-2,3};
v[1133]={70,100,1,1,1,-1,-1,-1,-1,2,3,3};
v[1134]={70,105,-1,-1,2,3,3,3,3,-3,-3,-3};
v[1135]={70,112,-2,-2,3,3,3,3,-3,-3,-3,-3};
v[1136]={70,126,1,-2,3,3,3,3,-3,-3,-3,-3};
v[1137]={70,140,1,1,3,3,3,3,-3,-3,-3,-3};
v[1138]={71,44,-1,2,-2,-2,-2,3,3,-3,-3,-3};
v[1139]={71,45,-1,-1,-1,-1,2,-2,-2,-2,-2,3};
v[1140]={71,51,1,-1,-1,-1,-1,2,2,-2,-2};
v[1141]={71,52,-1,-1,2,-2,-2,3,3,-3,-3,-3};
v[1142]={71,53,-1,-1,2,2,-2,-2,-2,3,-3,-3};
v[1143]={71,55,-1,-1,-1,-1,-1,-2,3,3,-3,-3};
v[1144]={71,59,-1,-1,-1,-1,-1,2,2,2,-3};
v[1145]={71,63,-1,-2,-2,-2,3,3,3,-3,-3,-3};
v[1146]={71,64,-1,-1,-1,-1,2,2,-2,-2,3};
v[1147]={71,71,-1,-1,-1,-1,2,2,2,2,-3};
v[1148]={71,76,1,-1,-1,-1,-1,2,2,-2,3};
v[1149]={71,84,-1,-1,-1,-1,-1,2,2,2,2};
v[1150]={71,90,-1,-2,-2,-2,-2,3,3,3,3,3};
v[1151]={71,91,1,-1,-1,-1,-1,-2,3,3,3,3};
v[1152]={71,93,-1,-1,2,2,2,2,-2,3,3,-3};
v[1153]={71,99,1,-1,-1,-1,2,2,2,2,-2,3};
v[1154]={71,105,-1,-2,-2,-2,3,3,3,3,3,-3};
v[1155]={72,30,1,-1,-1,-1,-1,-1,-1,-1,2,-2};
v[1156]={72,48,-1,-1,-1,-1,-1,2,-2,-2,3,-3};
v[1157]={72,56,-1,-1,-1,2,2,-2,3,-3,-3,-3};
v[1158]={72,87,-1,-1,-1,2,-2,-2,3,3,3,3};
v[1159]={72,97,-1,-1,-1,-1,-1,2,2,2,3,3};
v[1160]={72,127,1,1,1,1,1,-1,-1,-1,2,2};
v[1161]={73,51,-1,-1,-1,-2,-2,-2,-2,-2,3,3};
v[1162]={73,93,-1,-1,-1,2,2,2,2,2,3,-3};
v[1163]={73,94,-1,-1,-1,-1,2,2,-2,3,3,3};
v[1164]={74,48,-1,-1,-1,-1,-1,-1,2,3,-3,-3};
v[1165]={74,97,1,-1,-1,-1,-1,-1,2,3,3,3};
v[1166]={75,51,1,-1,-1,-1,-2,3,3,-3,-3,-3};
v[1167]={75,56,-1,2,-2,-2,-2,-2,3,3,-3,-3};
v[1168]={75,60,-1,-1,-1,-1,2,2,2,-2,-2};
v[1169]={75,65,1,-1,-1,2,2,2,-2,-2,-2};
v[1170]={75,66,-1,-1,-1,2,-2,3,3,-3,-3,-3};
v[1171]={75,75,-1,-1,-1,2,2,2,2,-2,-2};
v[1172]={75,79,-1,2,2,2,-2,-2,3,3,3,-3};
v[1173]={75,80,-1,-1,-1,-1,2,2,2,2,-2};
v[1174]={75,86,-2,-2,-2,-2,3,3,3,3,-3,-3};
v[1175]={75,90,-1,-1,-1,-1,2,3,3,3,3,-3};
v[1176]={75,95,-1,-1,-1,2,-2,3,3,3,3,-3};
v[1177]={75,101,2,-2,-2,-2,-2,3,3,3,-3,-3};
v[1178]={75,105,2,-2,-2,-2,-2,3,3,3,3,-3};
v[1179]={75,120,2,-2,-2,-2,3,3,3,3,-3,-3};
v[1180]={77,42,-1,-1,-2,3,3,3,-3,-3,-3,-3};
v[1181]={77,49,-1,-2,-2,3,3,3,-3,-3,-3,-3};
v[1182]={77,56,-1,2,-2,3,3,3,3,3,-3,-3};
v[1183]={77,91,1,-1,-2,3,3,3,3,3,-3,-3};
v[1184]={78,49,-1,-1,-1,-1,-1,-1,-1,2,2};
v[1185]={78,50,-1,2,2,-2,-2,-2,-2,-2,3,-3};
v[1186]={78,56,2,-2,-2,-2,-2,-2,-2,-2,3,3};
v[1187]={78,57,1,-1,-1,-1,-1,-1,-1,-1,3};
v[1188]={78,63,-1,-1,-1,-1,-1,-1,-1,3,3};
v[1189]={78,68,-1,2,-2,-2,-2,-2,-2,3,3,-3};
v[1190]={78,69,1,-1,-1,-1,-1,-1,2,-2,3};
v[1191]={78,78,-1,-1,-1,-1,-1,-1,2,2,3};
v[1192]={78,84,1,1,-1,-1,-1,-1,-1,2,3};
v[1193]={78,94,-1,2,2,2,2,-2,-2,3,3,-3};
v[1194]={78,98,1,1,1,-1,-1,-1,-1,2,2};
v[1195]={78,112,2,2,2,2,-2,-2,-2,-2,3,3};
v[1196]={79,75,-1,-2,-2,-2,-2,-2,3,3,3,-3};
v[1197]={79,105,-1,2,-2,-2,-2,-2,3,3,3,3};
v[1198]={80,66,-1,-1,-1,-2,3,3,3,-3,-3,-3};
v[1199]={80,90,-1,-1,-1,-1,3,3,3,-3,-3,-3};
v[1200]={80,95,1,-1,-1,-1,3,3,3,3,-3,-3};
v[1201]={80,105,-1,-1,-1,2,3,3,3,3,-3,-3};
v[1202]={81,44,-1,-1,-1,-1,-1,-1,2,2,-2,-2};
v[1203]={81,64,-1,-1,-1,2,2,-2,-2,3,-3,-3};
v[1204]={81,100,-1,-1,-1,2,2,-2,-2,3,3,3};
v[1205]={81,122,1,1,-1,-1,-1,-1,2,2,2,2};
v[1206]={83,60,-1,-1,2,-2,-2,-2,3,3,-3,-3};
v[1207]={83,62,-1,-1,-1,-1,-1,-2,-2,3,3,-3};
v[1208]={83,94,-1,-1,2,-2,-2,-2,3,3,3,3};
v[1209]={83,105,1,-1,-1,-1,-1,2,-2,3,3,3};
v[1210]={84,0,3,3,3,-3,-3,-3,-3,-3,-3};
v[1211]={84,9,2,2,2,-2,-2,-2,-2,-2,-2,-3};
v[1212]={84,28,-1,-2,3,3,3,-3,-3,-3,-3,-3};
v[1213]={84,36,1,1,1,-1,-1,-1,-1,-1,-1};
v[1214]={84,51,-2,-2,-2,-2,-2,-2,3,3,3,-3};
v[1215]={84,52,1,-1,-1,-1,2,2,-2,-2,-2,-2};
v[1216]={84,56,-1,-2,3,3,3,3,3,3,-3,-3};
v[1217]={84,60,-1,-1,2,2,-2,-2,-2,-2,3,-3};
v[1218]={84,62,-1,-1,-1,-1,2,2,3,-3,-3,-3};
v[1219]={84,63,1,-1,-1,-1,-1,-1,2,2,-2};
v[1220]={84,64,-1,2,2,-2,-2,-2,-2,-2,-2,3};
v[1221]={84,71,-1,-1,-1,-1,-1,2,2,2,-2};
v[1222]={84,78,1,1,-1,-1,-1,-1,-1,-1,3};
v[1223]={84,84,1,-1,-1,-1,-1,2,2,2,-2};
v[1224]={84,92,1,-1,-1,-1,-1,-1,2,2,2};
v[1225]={84,96,2,-2,-2,-2,-2,-2,3,3,3,-3};
v[1226]={84,97,-1,-1,-1,-1,2,2,3,3,3,-3};
v[1227]={84,98,-1,2,2,2,2,2,-2,-2,-2,3};
v[1228]={84,102,-1,-1,2,2,2,2,2,-2,3,-3};
v[1229]={84,106,2,2,-2,-2,-2,-2,-2,3,3,-3};
v[1230]={84,108,-1,-1,-1,2,2,2,2,2,2,-3};
v[1231]={84,112,2,2,-2,-2,-2,-2,-2,3,3,3};
v[1232]={84,115,1,1,-1,-1,-1,-1,-1,3,3,3};
v[1233]={84,116,1,-1,-1,-1,2,2,2,2,2,-2};
v[1234]={84,122,2,2,-2,-2,-2,-2,3,3,3,-3};
v[1235]={84,126,1,1,1,1,1,1,-1,-1,-1};
v[1236]={84,140,2,2,2,-2,-2,-2,-2,-2,3,3};
v[1237]={85,36,-1,-1,-1,-1,-1,-1,-1,-1,-1,3};
v[1238]={85,50,-1,-1,-1,-1,-1,-1,-1,2,2,-3};
v[1239]={85,56,-1,-1,-1,-1,-1,2,-2,-2,-2,3};
v[1240]={85,60,-1,-1,-1,-1,-2,-2,-2,-2,3,3};
v[1241]={85,86,-1,-1,2,2,3,3,-3,-3,-3,-3};
v[1242]={85,90,-1,-1,2,-2,3,3,3,3,-3,-3};
v[1243]={85,106,-1,-1,-1,-1,2,2,2,-2,3,3};
v[1244]={85,114,-1,-1,-1,-1,-1,2,2,2,2,3};
v[1245]={85,121,1,1,1,-1,-1,-1,-1,2,2,3};
v[1246]={85,135,1,1,1,1,1,1,-1,-1,-1,3};
v[1247]={86,57,-1,-1,-2,-2,3,3,3,-3,-3,-3};
v[1248]={86,58,-1,-1,-1,-1,-1,-1,2,-2,3,-3};
v[1249]={86,75,-2,-2,-2,-2,3,3,3,3,3,-3};
v[1250]={86,85,-1,-1,-2,-2,3,3,3,3,3,-3};
v[1251]={86,90,2,-2,-2,-2,3,3,3,-3,-3,-3};
v[1252]={86,111,1,-1,-1,-1,-1,-1,2,2,3,3};
v[1253]={86,112,1,1,1,1,-1,-1,-1,-1,3,3};
v[1254]={87,66,-1,-1,-1,-1,-1,-1,3,3,-3,-3};
v[1255]={87,72,-1,-1,-1,2,-2,-2,3,3,-3,-3};
v[1256]={87,96,-1,-1,-1,-1,-1,-1,3,3,3,3};
v[1257]={87,105,-1,-1,-1,2,2,-2,3,3,3,-3};
v[1258]={90,44,2,2,-2,-2,3,3,-3,-3,-3,-3};
v[1259]={90,66,1,1,-1,-1,3,3,-3,-3,-3,-3};
v[1260]={90,71,-1,2,2,-2,-2,3,3,-3,-3,-3};
v[1261]={90,75,-1,-1,-1,-1,2,3,3,-3,-3,-3};
v[1262]={90,80,1,1,-1,-1,3,3,3,3,-3,-3};
v[1263]={90,85,-1,-1,2,-2,3,3,3,-3,-3,-3};
v[1264]={90,86,2,2,-2,-2,3,3,3,3,-3,-3};
v[1265]={90,90,-1,2,2,-2,3,3,3,-3,-3,-3};
v[1266]={90,95,1,-1,-1,-1,-2,3,3,3,3,-3};
v[1267]={90,105,-1,-2,-2,-2,3,3,3,3,-3,-3};
v[1268]={90,110,-1,-1,2,2,3,3,3,-3,-3,-3};
v[1269]={91,56,-1,2,-2,3,3,3,-3,-3,-3,-3};
v[1270]={91,70,-1,-1,-2,3,3,3,3,3,-3,-3};
v[1271]={91,71,1,-1,-1,-1,-1,-2,3,3,-3,-3};
v[1272]={91,77,1,-1,-2,3,3,3,-3,-3,-3,-3};
v[1273]={91,105,-1,-2,-2,3,3,3,3,3,-3,-3};
v[1274]={91,110,-1,-1,-1,-1,-1,-2,3,3,3,3};
v[1275]={93,37,1,-1,-1,-1,-1,-1,-1,-1,-1,2};
v[1276]={93,71,-1,-1,2,-2,-2,-2,-2,3,3,-3};
v[1277]={93,73,-1,-1,-1,2,2,-2,-2,-2,3,-3};
v[1278]={93,101,-1,-1,2,2,-2,-2,-2,3,3,3};
v[1279]={93,113,-1,-1,-1,2,2,2,-2,-2,3,3};
v[1280]={93,162,1,1,1,1,1,1,-1,-1,-1,2};
v[1281]={94,73,-1,-1,-1,-1,2,2,-2,3,-3,-3};
v[1282]={94,78,-1,-2,-2,-2,-2,-2,-2,3,3,3};
v[1283]={94,83,-1,-1,-2,-2,-2,-2,3,3,3,-3};
v[1284]={94,101,-1,-1,2,2,-2,-2,3,3,3,-3};
v[1285]={94,108,-1,-1,-1,-1,2,2,2,3,3,-3};
v[1286]={94,112,-1,2,2,-2,-2,-2,-2,3,3,3};
v[1287]={95,75,-1,-1,-1,-2,-2,3,3,3,-3,-3};
v[1288]={95,80,1,-1,-1,-1,3,3,3,-3,-3,-3};
v[1289]={95,90,-1,-1,-1,-1,-2,3,3,3,-3,-3};
v[1290]={95,95,-1,-1,-1,-2,3,3,3,3,-3,-3};
v[1291]={95,105,-1,-1,-1,2,3,3,3,-3,-3,-3};
v[1292]={95,110,-1,-1,-1,-1,-2,3,3,3,3,-3};
v[1293]={95,120,-1,-1,-1,-1,3,3,3,3,-3,-3};
v[1294]={96,84,2,-2,-2,-2,-2,-2,3,3,3,3};
v[1295]={96,87,1,-1,-1,-1,-1,-1,3,3,-3,-3};
v[1296]={96,114,1,1,-1,-1,-1,-1,3,3,3,-3};
v[1297]={97,72,-1,-1,-1,-1,-1,-2,-2,-2,3,3};
v[1298]={97,74,-1,-1,-1,-1,-1,-1,-2,3,3,-3};
v[1299]={97,84,-1,-1,-1,-1,2,-2,3,3,-3,-3};
v[1300]={97,108,-1,-1,-1,-1,-2,-2,3,3,3,3};
v[1301]={97,114,-1,-1,-1,-1,-1,-1,2,3,3,3};
v[1302]={97,119,1,-1,-1,-1,-1,2,2,-2,3,3};
v[1303]={98,64,1,1,-1,-1,-1,-1,-1,-1,2};
v[1304]={98,70,-1,-1,2,2,-2,-2,-2,-2,-2,3};
v[1305]={98,78,1,-1,-1,-1,-1,-1,-1,2,2};
v[1306]={98,84,-1,2,2,2,2,-2,-2,-2,-2,-3};
v[1307]={98,98,1,1,-1,-1,-1,-1,-1,2,2};
v[1308]={98,112,1,1,1,1,-1,-1,-1,-1,2};
v[1309]={98,126,-1,2,2,2,2,2,2,-2,-2,-3};
v[1310]={99,71,-1,-1,-1,-1,2,2,2,-2,-2,-3};
v[1311]={99,121,-1,-1,-1,-1,2,2,2,2,-2,3};
v[1312]={100,70,-1,-1,-1,-1,-1,-1,-1,2,3,-3};
v[1313]={100,81,-1,-1,-1,2,-2,-2,-2,3,3,-3};
v[1314]={100,113,-1,-1,-1,2,2,2,-2,3,3,-3};
v[1315]={100,127,1,1,-1,-1,-1,-1,-1,2,3,3};
v[1316]={101,56,-1,-1,-1,-1,-1,-1,-1,2,2,-2};
v[1317]={101,60,2,2,-2,-2,-2,3,3,-3,-3,-3};
v[1318]={101,65,1,-1,-1,-1,-1,2,2,-2,-2,-2};
v[1319]={101,75,-2,-2,-2,-2,-2,3,3,3,3,3};
v[1320]={101,93,-1,-1,-2,-2,-2,-2,-2,3,3,3};
v[1321]={101,94,-1,-1,2,2,-2,-2,3,3,-3,-3};
v[1322]={101,101,-1,-2,-2,-2,-2,-2,3,3,3,3};
v[1323]={101,105,-1,2,-2,-2,-2,-2,3,3,3,-3};
v[1324]={101,112,-1,-1,-2,-2,-2,-2,3,3,3,3};
v[1325]={101,113,-1,-1,2,2,2,-2,-2,3,3,-3};
v[1326]={101,135,-1,-1,-1,-1,-1,2,2,2,2,2};
v[1327]={101,147,1,1,1,-1,-1,-1,-1,2,2,2};
v[1328]={102,69,-1,-1,-1,-1,-1,-1,2,-2,-2,3};
v[1329]={102,84,-1,-1,2,-2,-2,-2,-2,-2,3,3};
v[1330]={102,112,-1,-1,2,2,2,-2,-2,-2,3,3};
v[1331]={102,130,1,-1,-1,-1,-1,-1,2,2,2,3};
v[1332]={105,56,2,2,-2,3,3,3,-3,-3,-3,-3};
v[1333]={105,63,2,-2,-2,3,3,3,-3,-3,-3,-3};
v[1334]={105,70,-1,2,-2,3,3,3,3,-3,-3,-3};
v[1335]={105,71,-1,2,-2,-2,3,3,3,-3,-3,-3};
v[1336]={105,75,-2,-2,-2,-2,-2,3,3,3,3,-3};
v[1337]={105,79,-1,2,2,-2,-2,-2,3,3,-3,-3};
v[1338]={105,80,1,-1,-1,-2,3,3,3,-3,-3,-3};
v[1339]={105,83,-1,-1,-1,-1,-1,2,2,3,-3,-3};
v[1340]={105,87,-1,-1,-1,-2,-2,-2,3,3,3,-3};
v[1341]={105,90,-1,2,-2,-2,3,3,3,3,-3,-3};
v[1342]={105,91,-1,-2,-2,3,3,3,3,-3,-3,-3};
v[1343]={105,95,-1,-1,-1,2,2,3,3,-3,-3,-3};
v[1344]={105,100,-1,-1,-1,-2,-2,3,3,3,3,-3};
v[1345]={105,101,-1,2,2,-2,-2,-2,3,3,3,-3};
v[1346]={105,105,2,-2,-2,3,3,3,3,-3,-3,-3};
v[1347]={105,108,-1,-1,-1,-2,-2,-2,3,3,3,3};
v[1348]={105,110,-1,-1,-1,-1,-1,3,3,3,3,-3};
v[1349]={105,119,-1,-1,-1,-1,-1,2,-2,3,3,3};
v[1350]={106,56,-2,-2,-2,-2,-2,-2,-2,3,3,3};
v[1351]={106,65,1,-1,-1,-1,-1,-1,-1,-1,-2,3};
v[1352]={106,84,2,2,2,2,-2,-2,-2,3,3,-3};
v[1353]={106,85,-1,-1,-1,-1,2,2,-2,-2,3,-3};
v[1354]={106,121,-1,-1,-1,-1,2,2,2,2,3,-3};
v[1355]={106,141,1,1,1,1,-1,-1,-1,-1,2,3};
v[1356]={108,84,-1,-1,-1,2,2,-2,-2,-2,-2,3};
v[1357]={108,94,-1,-1,-1,-1,2,-2,-2,3,3,-3};
v[1358]={108,97,-1,-1,-1,-1,-2,-2,3,3,3,-3};
v[1359]={108,105,-1,-1,-1,2,2,-2,3,3,-3,-3};
v[1360]={108,108,-1,-1,-1,2,-2,-2,3,3,3,-3};
v[1361]={108,116,-1,-1,-1,-1,2,-2,3,3,3,-3};
v[1362]={108,119,-1,-1,-1,-1,2,-2,-2,3,3,3};
v[1363]={108,126,-1,-1,-1,2,2,2,2,-2,-2,3};
v[1364]={110,91,-1,-1,-1,-1,-1,2,3,3,-3,-3};
v[1365]={110,95,1,-1,-1,-1,-2,3,3,3,-3,-3};
v[1366]={110,100,1,1,-1,-1,-1,3,3,3,-3,-3};
v[1367]={110,105,-1,-1,-1,-1,-1,3,3,3,-3,-3};
v[1368]={110,110,-1,-1,-1,-1,2,3,3,3,-3,-3};
v[1369]={110,114,-1,-1,-1,-1,-1,2,3,3,3,-3};
v[1370]={111,86,-1,-1,-1,-1,-1,-1,-2,-2,3,3};
v[1371]={111,130,-1,-1,-1,-1,-1,-1,2,2,3,3};
v[1372]={112,28,2,-2,3,3,3,-3,-3,-3,-3,-3};
v[1373]={112,56,1,-1,3,3,3,-3,-3,-3,-3,-3};
v[1374]={112,70,2,-2,3,3,3,3,3,-3,-3,-3};
v[1375]={112,78,2,2,2,-2,-2,-2,-2,-2,3,-3};
v[1376]={112,84,2,-2,-2,-2,-2,-2,-2,3,3,3};
v[1377]={112,86,1,1,-1,-1,-1,-1,-1,-1,3,-3};
v[1378]={112,94,-1,2,2,-2,-2,-2,-2,3,3,-3};
v[1379]={112,98,-1,-1,2,2,2,2,-2,-2,-2,-3};
v[1380]={112,102,-1,2,2,2,-2,-2,-2,3,3,-3};
v[1381]={112,112,2,2,2,-2,-2,-2,-2,3,3,-3};
v[1382]={112,122,-1,-1,2,2,2,2,-2,-2,3,-3};
v[1383]={112,126,-1,-1,2,2,2,2,-2,-2,-2,3};
v[1384]={112,141,1,1,1,-1,-1,-1,-1,-1,3,3};
v[1385]={113,93,-1,-1,-1,2,-2,-2,-2,-2,3,3};
v[1386]={113,100,-1,-1,-1,-2,-2,-2,-2,3,3,3};
v[1387]={113,101,-1,-1,2,2,-2,-2,-2,3,3,-3};
v[1388]={113,113,-1,-1,2,-2,-2,-2,-2,3,3,3};
v[1389]={113,114,-1,-1,-1,2,-2,-2,-2,3,3,3};
v[1390]={113,121,-1,-1,-1,2,2,2,2,-2,3,-3};
v[1391]={114,85,-1,-1,-1,-1,-1,2,2,2,-2,-3};
v[1392]={114,96,1,1,-1,-1,-1,-1,3,3,-3,-3};
v[1393]={114,97,1,-1,-1,-1,-1,-1,-2,3,3,-3};
v[1394]={114,110,-1,-1,-1,-1,-1,-2,3,3,3,-3};
v[1395]={114,114,1,-1,-1,-1,-1,-2,3,3,3,-3};
v[1396]={114,127,1,-1,-1,-1,-1,-1,-2,3,3,3};
v[1397]={114,128,1,-1,-1,-1,-1,-1,3,3,3,-3};
v[1398]={114,135,1,-1,-1,-1,-1,2,2,2,-2,3};
v[1399]={115,84,-1,-1,-1,-1,-1,-1,-1,3,3,-3};
v[1400]={115,127,1,-1,-1,-1,-1,-1,-1,3,3,3};
v[1401]={116,84,-1,-1,-1,-1,2,2,2,-2,-2,-2};
v[1402]={116,140,-1,-1,-1,-1,2,2,2,2,2,-2};
v[1403]={119,97,-1,-1,-1,-1,-1,2,2,-2,3,-3};
v[1404]={119,105,-1,-1,-1,-1,-1,2,-2,3,3,-3};
v[1405]={119,108,-1,-1,-1,-1,-2,-2,-2,3,3,3};
v[1406]={119,119,-1,-1,-1,-1,2,2,-2,3,3,-3};
v[1407]={119,122,-1,-1,-1,-1,-1,2,2,3,3,-3};
v[1408]={119,130,-1,-1,-1,-1,-1,2,2,-2,3,3};
v[1409]={120,0,3,3,3,-3,-3,-3,-3,-3,-3,-3};
v[1410]={120,45,1,1,1,-1,-1,-1,-1,-1,-1,-1};
v[1411]={120,210,1,1,1,1,1,1,1,-1,-1,-1};
v[1412]={121,85,-1,-1,-1,-1,-1,-1,-1,2,-2,3};
v[1413]={121,99,-1,-1,-1,-1,2,2,-2,-2,-2,3};
v[1414]={121,106,-1,-1,-1,-1,2,-2,-2,-2,3,3};
v[1415]={121,113,-1,-1,-1,2,2,2,-2,-2,3,-3};
v[1416]={121,121,-1,-1,-1,2,2,-2,-2,-2,3,3};
v[1417]={121,128,-1,-1,-1,-1,2,2,-2,-2,3,3};
v[1418]={121,135,-1,-1,-1,-1,2,2,2,2,2,-3};
v[1419]={121,147,1,1,-1,-1,-1,-1,-1,2,2,3};
v[1420]={122,81,1,-1,-1,-1,-1,-1,2,2,-2,-2};
v[1421]={122,155,1,-1,-1,-1,-1,-1,2,2,2,2};
v[1422]={126,0,3,3,3,3,-3,-3,-3,-3,-3};
v[1423]={126,36,2,2,2,2,-2,-2,-2,-2,-2,-3};
v[1424]={126,56,-1,-2,3,3,3,3,-3,-3,-3,-3};
v[1425]={126,70,-1,-2,3,3,3,3,3,-3,-3,-3};
v[1426]={126,84,1,1,1,1,-1,-1,-1,-1,-1};
v[1427]={126,98,-1,2,2,2,-2,-2,-2,-2,-2,3};
v[1428]={126,108,-1,-1,-1,2,2,2,2,-2,-2,-3};
v[1429]={126,112,-1,2,2,2,2,-2,-2,-2,-2,3};
v[1430]={126,126,1,1,1,1,1,-1,-1,-1,-1};
v[1431]={126,130,-1,-1,-1,2,2,2,2,2,-2,-3};
v[1432]={126,140,-1,-1,2,2,2,2,2,-2,-2,-2};
v[1433]={127,72,-1,-1,-1,-1,-1,-1,-1,-1,2,2};
v[1434]={127,100,-1,-1,-1,-1,-1,-1,-1,-2,3,3};
v[1435]={127,114,-1,-1,-1,-1,-1,-1,2,3,3,-3};
v[1436]={127,115,1,-1,-1,-1,-1,-1,-1,3,3,-3};
v[1437]={127,126,-1,-1,-1,-1,-1,-1,-1,3,3,3};
v[1438]={127,127,-1,-1,-1,-1,-1,-1,-2,3,3,3};
v[1439]={127,141,1,-1,-1,-1,-1,-1,-1,2,3,3};
v[1440]={127,176,1,1,1,1,-1,-1,-1,-1,2,2};
v[1441]={130,102,-1,-1,-1,-1,-1,-1,2,2,2,-3};
v[1442]={130,111,-1,-1,-1,-1,-1,-1,2,2,3,-3};
v[1443]={130,119,-1,-1,-1,-1,-1,2,-2,-2,3,3};
v[1444]={130,130,-1,-1,-1,-1,-1,2,2,2,3,-3};
v[1445]={130,138,1,-1,-1,-1,-1,-1,2,-2,3,3};
v[1446]={130,147,-1,-1,-1,-1,-1,-1,2,2,2,3};
v[1447]={135,85,1,-1,-1,-1,-1,-1,-1,-1,-1,3};
v[1448]={135,101,-1,-1,-1,-1,-1,2,2,2,-2,-2};
v[1449]={135,114,-1,-1,-1,-1,-1,2,2,-2,-2,3};
v[1450]={135,121,-1,-1,-1,-1,2,2,2,2,-2,-3};
v[1451]={135,135,-1,-1,-1,-1,2,2,2,-2,-2,3};
v[1452]={135,142,-1,-1,-1,-1,-1,2,2,2,-2,3};
v[1453]={135,155,1,-1,-1,-1,-1,2,2,2,2,-2};
v[1454]={135,162,1,1,1,1,1,-1,-1,-1,-1,3};
v[1455]={140,116,1,-1,-1,-1,2,2,2,-2,-2,-2};
v[1456]={140,126,-1,-1,-1,2,2,2,2,-2,-2,-2};
v[1457]={140,140,1,-1,-1,2,2,2,2,-2,-2,-2};
v[1458]={140,150,1,-1,-1,-1,2,2,2,2,-2,-2};
v[1459]={141,106,-1,-1,-1,-1,-1,-1,-1,-1,2,3};
v[1460]={141,112,-1,-1,-1,-1,-1,-1,-1,-1,3,3};
v[1461]={141,127,1,-1,-1,-1,-1,-1,-1,-2,3,3};
v[1462]={141,141,-1,-1,-1,-1,-1,-1,-1,2,3,3};
v[1463]={141,156,1,1,-1,-1,-1,-1,-1,-1,3,3};
v[1464]={141,162,1,1,1,-1,-1,-1,-1,-1,2,3};
v[1465]={147,101,1,-1,-1,-1,-1,-1,-1,2,2,-2};
v[1466]={147,121,1,-1,-1,-1,-1,-1,-1,2,-2,3};
v[1467]={147,130,-1,-1,-1,-1,-1,-1,2,2,-2,3};
v[1468]={147,147,1,-1,-1,-1,-1,-1,2,2,-2,3};
v[1469]={147,156,1,-1,-1,-1,-1,-1,-1,2,2,3};
v[1470]={147,176,1,1,-1,-1,-1,-1,-1,2,2,2};
v[1471]={155,122,-1,-1,-1,-1,-1,-1,2,2,2,-2};
v[1472]={155,135,1,-1,-1,-1,-1,2,2,2,-2,-2};
v[1473]={155,155,-1,-1,-1,-1,-1,2,2,2,2,-2};
v[1474]={155,168,-1,-1,-1,-1,-1,-1,2,2,2,2};
v[1475]={162,93,1,1,-1,-1,-1,-1,-1,-1,-1,2};
v[1476]={162,135,1,1,-1,-1,-1,-1,-1,-1,-1,3};
v[1477]={162,141,1,-1,-1,-1,-1,-1,-1,-1,2,3};
v[1478]={162,162,1,1,-1,-1,-1,-1,-1,-1,2,3};
v[1479]={162,168,1,1,1,1,-1,-1,-1,-1,-1,3};
v[1480]={162,210,1,1,1,1,1,-1,-1,-1,-1,2};
v[1481]={176,127,1,-1,-1,-1,-1,-1,-1,-1,2,2};
v[1482]={176,147,-1,-1,-1,-1,-1,-1,-1,2,2,2};
v[1483]={176,176,1,-1,-1,-1,-1,-1,-1,2,2,2};
v[1484]={176,196,1,1,1,-1,-1,-1,-1,-1,2,2};
v[1485]={210,0,3,3,3,3,-3,-3,-3,-3,-3,-3};
v[1486]={210,120,1,1,1,1,-1,-1,-1,-1,-1,-1};
v[1487]={210,162,1,1,1,-1,-1,-1,-1,-1,-1,2};
v[1488]={210,210,1,1,1,1,-1,-1,-1,-1,-1,2};
v[1489]={210,252,1,1,1,1,1,1,-1,-1,-1,-1};
	memset(dp, 0x3f, sizeof dp);
	for(int i = 0;i < 1490;++ i)
		if(chmin(dp[v[i][0]], (int)v[i].size() - 2)) pre[v[i][0]] = i;
	for(int i = 1;i < N;++ i){
		for(int j = 0;j < 1490 && v[j][0] * i < N;++ j){
			int nxt = v[j][0] * i + v[j][1];
			if(nxt < N && chmin(dp[nxt], dp[i] + (int)v[j].size() - 2))
				pre[nxt] = j;
		}
	}
	cin >> T;
	while(T --){
		cin >> k; int _ = k;
		ans.clear(); res.clear();
		int tmp = __builtin_ctz(k); k >>= tmp;
		while(k > v[pre[k]][0]){
			res.push_back(pre[k]);
			k = (k - v[pre[k]][1]) / v[pre[k]][0];
		}
		for(int i = 2;i < v[pre[k]].size();++ i)
			ans.push_back(v[pre[k]][i]);
		for(int i = (int)res.size()-1;~i;-- i){
			LL sump = 0, sumn = 0;
			for(int j : ans) (j > 0 ? sump : sumn) += j;
			for(int j = 2;j < v[res[i]].size();++ j)
				ans.push_back(-v[res[i]][j] * (sump + sumn > 0 ? sump : sumn));
		}
		while(tmp --) ans.push_back(0);
		printf("%llu\n", ans.size());
		for(LL u : ans) printf("%lld ", u);
		putchar('\n');
	}
}

L Little LCS

给定两个带通配符 ? 长为 \(2n+1\)ABC 字符串 \(s,t\),求将 ? 替换为 ABC 的方案数 \(\bmod 998244353\) 使得 \(s,t\) 的相邻两个字符不同且 LCS 长度为 \(n\)\(T\) 组数据。

\(T\le 10^5\)\(\sum n\le 10^6\)

solution

不会做

First let’s note that LCS is always at least \(n\). Indeed, for every \(i\), there is some character that’s present in both \((s_{2i−1}, s_{2i})\) and \((t_{2i−1}, t_{2i})\). It hints that awesome strings must have some very special structure.

M Math

给定 \(n\) 个互不相同的正整数 \(a_1,\cdots,a_n\),求有多少对 \((i,j)\) 使得 \(a_i^2+a_j\) 是完全平方数。

\(n,a_i\le 10^6\)

solution

枚举 \(k^2-a_i^2=a_j\) 即可,时间复杂度 \(\mathcal O(n\log n)\)

#include<bits/stdc++.h>
using namespace std;
const int N = 1000003;
int n, a[N], ans; bitset<N> vis;
int main(){
	ios::sync_with_stdio(false);
	cin >> n;
	for(int i = 0;i < n;++ i){cin >> a[i]; vis.set(a[i]);}
	for(int i = 0;i < n;++ i){
		int j = 1;
		while(true){
			int tmp = j * (2 * a[i] + j);
			if(tmp >= N) break;
			ans += vis[tmp]; ++ j;
		}
	}
	printf("%d\n", ans);
}
posted @ 2022-03-15 16:29  mizu164  阅读(511)  评论(0编辑  收藏  举报