QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#864757#5037. 回文Felix7260 7187ms76824kbC++1411.1kb2025-01-20 23:38:032025-01-20 23:38:03

Judging History

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

  • [2025-01-20 23:38:03]
  • 评测
  • 测评结果:60
  • 用时:7187ms
  • 内存:76824kb
  • [2025-01-20 23:38:03]
  • 提交

answer

/* Good Game, Well Play. */
#include <bits/stdc++.h>
#define lowbit(x) ((x) & (-(x)))
using namespace std;

const int N = 200010, P = 131;
const long long mod = 1000000123;
int n, m, B; string s; long long pw[N];

bool Entag = false; int Enl, Enr;
struct Blocks
{
	int bid[N]; long long pre[N], suf[N];
	struct Part
	{
		int l, r; long long val[2];
		vector < long long > hsh[2];
		inline void rebuild()
		{
			for(int op = 0; op <= 1; ++op)
				val[op] = 0, hsh[op].resize(r - l + 3);
			for(int j = l; j <= r; ++j)
			{
				val[0] = (val[0] * P + s[j]) % mod;
				hsh[0][j - l + 1] = val[0];
			}
			for(int j = r; j >= l; --j)
			{
				val[1] = (val[1] * P + s[j]) % mod;
				hsh[1][j - l + 1] = val[1];
			}
		}
	}; Part part[N];
	inline void init_sum()
	{
		for(int i = 1; i <= bid[n]; ++i)
			pre[i] = (pre[i - 1] * pw[part[i].r - part[i].l + 1] + part[i].val[0]) % mod;
		for(int i = bid[n]; i >= 1; --i)
			suf[i] = (suf[i + 1] * pw[part[i].r - part[i].l + 1] + part[i].val[1]) % mod;
	}
	inline long long in_query(int op, int id, int l, int r)
	{
		if(op == 0) return (part[id].hsh[0][r] - part[id].hsh[0][l - 1] * pw[r - l + 1] % mod + mod) % mod;
		else return (part[id].hsh[1][l] - part[id].hsh[1][r + 1] * pw[r - l + 1] % mod + mod) % mod;
	}
	
	inline void _setup()
	{
		B = sqrt(n);
		for(int i = 1; i <= n; ++i) bid[i] = (i - 1) / B + 1;
		for(int i = 1; i <= bid[n]; ++i)
		{
			part[i].l = B * (i - 1) + 1;
			part[i].r = min(B * i, n);
			part[i].rebuild();
		}
		init_sum();
	}
	inline void _modify(int p)
	{
		part[bid[p]].rebuild();
		init_sum();
	}
	inline long long _query(int op, int l, int r)
	{
		if(Entag)
		{
			op ^= 1; swap(l, r);
			l = Enr - (l - Enl);
			r = Enr - (r - Enl);
		}
		if(l > r) return 0;
		if(bid[l] == bid[r]) return in_query(op, bid[l], l - part[bid[l]].l + 1, r - part[bid[l]].l + 1);
		else
		{
			long long res = 0;
			if(op == 0)
			{
				res = in_query(0, bid[l], l - part[bid[l]].l + 1, part[bid[l]].r - part[bid[l]].l + 1);
				if(bid[l] + 1 < bid[r])
				{
					res = (__int128)res * pw[part[bid[r] - 1].r - part[bid[l]].r] % mod;
					res = (res + (pre[bid[r] - 1] - (__int128)pre[bid[l]] * pw[part[bid[r] - 1].r - part[bid[l]].r] % mod + mod)) % mod;
				}
				res = (__int128)res * pw[r - part[bid[r]].l + 1] % mod;
				res = (res + in_query(0, bid[r], 1, r - part[bid[r]].l + 1)) % mod;
			}
			else
			{
				res = in_query(1, bid[r], 1, r - part[bid[r]].l + 1);
				if(bid[l] + 1 < bid[r])
				{
					res = (__int128)res * pw[part[bid[r] - 1].r - part[bid[l]].r] % mod;
					res = (res + (suf[bid[l] + 1] - (__int128)suf[bid[r]] * pw[part[bid[r] - 1].r - part[bid[l]].r] % mod + mod)) % mod;
				}
				res = (__int128)res * pw[part[bid[l]].r - l + 1] % mod;
				res = (res + in_query(1, bid[l], l - part[bid[l]].l + 1, part[bid[l]].r - part[bid[l]].l + 1)) % mod;
			}
			return res;
		}
	}
}; Blocks blocks;

struct Seq
{
	int x, d, l;
	bool operator < (const Seq &w) const {return x < w.x;}
	bool operator > (const Seq &w) const {return x > w.x;}
};
inline vector < Seq > compress(vector < Seq > vec)
{
	sort(vec.begin(), vec.end());
//	cerr << "+++++++++++++++++++++++++++++++++++++++\n";
//	for(Seq sq : vec) cerr << "org " << sq.x << " " << sq.d << " " << sq.l << '\n';
	vector < Seq > res;
	for(Seq sq : vec)
	{
		if(!res.empty())
		{
			if(res.back().l == 1 && sq.l == 1)
				res.back().d = sq.x - res.back().x, ++res.back().l;
			else if(res.back().l == 1 && sq.x - res.back().x == sq.d)
				res.back().d = sq.d, res.back().l += sq.l;
			else if(sq.l == 1 && sq.x - (res.back().x + res.back().d * (res.back().l - 1)) == res.back().d)
				++res.back().l;
			else if(res.back().l > 1 && sq.l > 1 && res.back().d == sq.d && sq.x - (res.back().x + res.back().d * (res.back().l - 1)) == res.back().d)
				res.back().l += sq.l;
			else res.push_back(sq);
		}
		else res.push_back(sq);
	}
//	for(Seq sq : res) cerr << "final " << sq.x << " " << sq.d << " " << sq.l << '\n';
	return res;
}
struct Data
{
	int l, r;
	vector < Seq > pr, su;
	inline void unit(int p)
	{
		l = r = p;
		pr.clear(); su.clear();
		pr.push_back({1, 1, 1});
		su.push_back({1, 1, 1});
	}
	inline void reset(int ln, int rn)
	{l = ln, r = rn, pr.clear(), su.clear();}
	inline void debug()
	{
		cerr << "pr : ";
		for(Seq sq : pr) cerr << "(" << sq.x << "," << sq.d << "," << sq.l << ") ";
		cerr << '\n';
		cerr << "su : ";
		for(Seq sq : su) cerr << "(" << sq.x << "," << sq.d << "," << sq.l << ") ";
		cerr << '\n';
	}
};
const bool Enop[5] = {false, true, true, true, true};
inline void work(Data u, Data v, int l, int mid, int r, Data &res)
{
//	cerr << "work " << l << " " << mid << " " << r << '\n';
//	for(int i = l; i <= r; ++i) cerr << s[i]; cerr << '\n';
//	u.debug(); cerr << '\n'; v.debug();
	// Case I
	if(Enop[1])
	{
		res.su = v.su;
	}
	// Case II
	if(Enop[2])
	{
		for(Seq sq : v.pr)
		{
//			cerr << "! " << sq.x << " " << sq.d << " " << sq.l << '\n';
			if(sq.l == 1)
			{
				if(sq.x != r - mid && l <= mid - (r - mid - sq.x) + 1 && blocks._query(0, mid + sq.x + 1, r) == blocks._query(1, mid - (r - mid - sq.x) + 1, mid))
					res.su.push_back({sq.x + 2 * (r - mid - sq.x), 1, 1});
			}
			else
			{
				int ex = r - mid - (sq.x + sq.d * (sq.l - 1));
				if(!ex || blocks._query(0, mid + sq.x + sq.d * (sq.l - 1) + 1, r) == blocks._query(0, mid + sq.x + 1, mid + sq.x + (r - mid - sq.x - sq.d * (sq.l - 1))))
				{
					int head = (ex ? 0 : 1), tail = sq.l - 1, lim = -1;
					while(head <= tail)
					{
						int md = (head + tail) >> 1;
						if(l <= mid - (md * sq.d + ex) + 1 && blocks._query(0, r - (md * sq.d + ex) + 1, r) == blocks._query(1, mid - (md * sq.d + ex) + 1, mid))
							lim = md, head = md + 1;
						else tail = md - 1;
					}
					if(lim != -1)
					{
//						cerr << "lim " << lim << '\n';
						if(ex) res.su.push_back({(r - mid) + ex, sq.d, lim + 1});
						else res.su.push_back({(r - mid) + sq.d, sq.d, lim});
					}
				}
				else
				{
					int head = 1, tail = sq.l - 1, lim = 0;
					while(head <= tail)
					{
						int md = (head + tail) >> 1;
						if(l <= mid - md * sq.d + 1 && blocks._query(1, mid - md * sq.d + 1, mid) == blocks._query(0, mid + sq.x + 1, mid + sq.x + md * sq.d))
							lim = md, head = md + 1;
						else tail = md - 1;
					}
					if(l <= mid - lim * sq.d - ex + 1 && blocks._query(1, mid - lim * sq.d - ex + 1, mid) == blocks._query(0, r - (lim * sq.d + ex) + 1, r))
						res.su.push_back({r - mid + lim * sq.d + ex, 1, 1});
				}
			}
		}
	}
	// Case III
	if(Enop[3])
	{
		if(r - mid <= mid - l + 1)
		{
			if(blocks._query(0, mid + 1, r) == blocks._query(1, mid - (r - mid) + 1, mid))
				res.su.push_back({2 * (r - mid), 1, 1});
		}
	}
	// Case IV
	if(Enop[4])
	{
		for(Seq sq : u.su)
		{
			if(sq.l == 1)
			{
				if(l <= mid - sq.x - (r - mid) + 1 && blocks._query(0, mid + 1, r) == blocks._query(1, mid - sq.x - (r - mid) + 1, mid - sq.x))
					res.su.push_back({sq.x + 2 * (r - mid), 1, 1});
			}
			else
			{
				if(mid - sq.x - (r - mid) + 1 < l) continue;
				int head = 1, tail = (sq.l - 1) * sq.d, lim = 0;
				while(head <= tail)
				{
					int md = (head + tail) >> 1;
					if(mid + md <= r && blocks._query(0, mid + 1, mid + md) == blocks._query(1, mid - sq.x - md + 1, mid - sq.x))
						lim = md, head = md + 1;
					else tail = md - 1;
				}
				if(lim == r - mid)
				{
					head = 0, tail = sq.l - 1, lim = -1;
					while(head <= tail)
					{
						int md = (head + tail) >> 1;
						if(l <= mid - sq.x - md * sq.d - (r - mid) + 1 && blocks._query(0, mid - sq.x - md * sq.d - (r - mid) + 1, mid - sq.x - md * sq.d) == blocks._query(1, mid + 1, r))
							lim = md, head = md + 1;
						else tail = md - 1;
					}
					if(lim != -1) res.su.push_back({sq.x + 2 * (r - mid), sq.d, lim + 1});
				}
				else
				{
					head = 0, tail = sq.l - 1, lim = 0;
					while(head <= tail)
					{
						int md = (head + tail) >> 1;
						if(mid + md * sq.d <= r && blocks._query(0, mid - sq.x - sq.d * md + 1, mid - sq.x) == blocks._query(1, mid + 1, mid + sq.d * md))
							lim = md, head = md + 1;
						else tail = md - 1;
					}
					lim *= sq.d;
					if(l <= mid - sq.x - sq.d * (sq.l - 1) - (r - mid - lim) + 1)
					{
						if(blocks._query(0, mid - sq.x - sq.d * (sq.l - 1) - (r - mid - lim) + 1, r) == blocks._query(1, mid - sq.x - sq.d * (sq.l - 1) - (r - mid - lim) + 1, r))
							res.su.push_back({sq.x + (sq.d * (sq.l - 1) - lim) + (r - mid) * 2, 1, 1});
					}
				}
			}
		}
	}
}
Data operator + (Data u, Data v)
{
	int l = u.l, mid = u.r, r = v.r;
	Data res; res.reset(l, r);
	
	// -------------- Suffix --------------
	Entag = false; work(u, v, l, mid, r, res);
	// -------------- Prefix --------------
	Entag = true; Enl = l, Enr = r;
	swap(u, v);
	swap(res.pr, res.su), swap(u.pr, u.su), swap(v.pr, v.su);
	work(u, v, l, r - (mid - l) - 1, r, res);
	swap(res.pr, res.su), swap(u.pr, u.su), swap(v.pr, v.su);
	swap(u, v);
	res.pr = compress(res.pr); res.su = compress(res.su);
	return res;
}
struct SegTree
{
	int rt, idx;
	struct SGT
	{
		int ls, rs; Data data;
		#define ls(x) tree[x].ls
		#define rs(x) tree[x].rs
		#define data(x) tree[x].data
	} tree[N * 2];
	inline void pushup(int now)
	{data(now) = data(ls(now)) + data(rs(now));}
	inline void build(int &now, int l, int r)
	{
		now = ++idx;
		if(l == r) {data(now).unit(l); return ;}
		int mid = (l + r) >> 1;
		build(ls(now), l, mid), build(rs(now), mid + 1, r);
		pushup(now);
//		cerr << "build " << l << " " << r << " ++++++++++++++++++++++++++++++++++++++\n";
//		data(now).debug();
	}
	inline void modify(int now, int l, int r, int pos)
	{
		if(l == r) return ;
		int mid = (l + r) >> 1;
		if(pos <= mid) modify(ls(now), l, mid, pos);
		else modify(rs(now), mid + 1, r, pos);
		pushup(now);
	}
	inline Data query(int now, int l, int r, int L, int R)
	{
		if(L <= l && r <= R) return data(now);
		int mid = (l + r) >> 1;
		Data res;
		if(R <= mid) res = query(ls(now), l, mid, L, R);
		else if(mid < L) res = query(rs(now), mid + 1, r, L, R);
		else res = (query(ls(now), l, mid, L, R) + query(rs(now), mid + 1, r, L, R));
//		cerr << "query " << l << " " << r << " ++++++++++++++++++++\n";
//		res.debug();
		return res;
	}
	
	inline void _init() {build(rt, 1, n);}
	inline void _modify(int p) {modify(rt, 1, n, p);}
	inline Data _query(int l, int r) {return query(rt, 1, n, l, r);}
}; SegTree sgt;

int main()
{
//	freopen("text.in", "r", stdin);
//	freopen("prog.out", "w", stdout);
	ios::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	cin >> s; n = s.length(); s = ' ' + s;
	pw[0] = 1; for(int i = 1; i <= n; ++i) pw[i] = (__int128)pw[i - 1] * P % mod;
	blocks._setup(); sgt._init();
	cin >> m;
	for(int i = 1, lst = 0; i <= m; ++i)
	{
		int opt, l, r, p; char c; cin >> opt;
		if(opt == 1)
		{
			cin >> p >> c;
			p ^= lst;
			s[p] = c; blocks._modify(p), sgt._modify(p);
		}
		else
		{
			cin >> l >> r;
			l ^= lst, r ^= lst;
			lst = 0; Data dt = sgt._query(l, r);
			for(Seq sq : dt.su) lst += sq.l;
			cout << lst << '\n';
		}
	}
	return 0;
}
/*
abbaaabaac
1
2 1 7
*/

详细

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 53ms
memory: 46676kb

input:

aabbbabbbaaaaaaabbabbbaaaabaaaabbaabbaabbaaababbbabbbbabbbbaaaabbbabbbbbaaabbbabbaaaaabbbbbaaababbabbaaaaabaabbbbaaababaaabbaabbabbbabbbbaaaaabbbbbbbabbbaabbbabbabbbababbabbbbaaaaabbaababbbbaabbaaaaaabaaabbbaaababbbbaabaaaaababababbbbbbaaaabbbbaaababaaabbaabbbbbaaaabbaaaabaaaaaababbababaaaabaaababaa...

output:

2
3
5
3
3
3
2
3
4
2
4
2
4
2
3
3
3
2
2
2
2
2
2
3
4
2
2
3
2
2
4
3
3
2
3
3
4
3
3
4
4
2
3
4
2
2
4
2
4
3
2
2
2
3
3
3
4
4
3
3
2
3
3
2
3
3
4
2
2
4
2
3
2
3
3
2
3
2
2
3
2
2
3
6
2
2
3
7
4
3
2
2
2
2
3
4
4
4
4
2
2
3
2
4
2
2
2
3
3
2
2
2
2
3
3
4
3
2
3
3
2
2
4
5
4
2
2
5
3
3
3
3
2
4
2
3
2
3
3
3
2
4
4
5
2
2
3
5
3
3
...

result:

ok 2509 tokens

Test #2:

score: 10
Accepted
time: 72ms
memory: 46612kb

input:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

188
1078
673
914
360
4255
2205
3628
77
3608
230
494
128
848
801
1335
4079
3059
636
2882
3524
45
1174
506
3570
4172
1289
595
3829
1532
179
1274
2574
1098
2817
226
2580
887
989
1829
3656
181
2056
3315
786
117
2519
2742
3787
1080
3138
686
1605
239
1533
2658
2096
753
3400
219
1815
117
1645
52
1671
121
2...

result:

ok 2519 tokens

Test #3:

score: 10
Accepted
time: 71ms
memory: 45952kb

input:

bbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbbbbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbbbbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbbbbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbba...

output:

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

result:

ok 5000 tokens

Test #4:

score: 10
Accepted
time: 61ms
memory: 46112kb

input:

mkmamkmlmkmamkmnmkmamkmlmkmamkmamkmamkmlmkmamkmnmkmamkmlmkmamkmumkmamkmlmkmamkmnmkmamkmlmkmamkmamkmamkmlmkmamkmnmkmamkmlmkmamkmkmkmamkmlmkmamkmnmkmamkmlmkmamkmamkmamkmlmkmamkmnmkmamkmlmkmamkmumkmamkmlmkmamkmnmkmamkmlmkmamkmamkmamkmlmkmamkmnmkmamkmlmkmamkmpmkmamkmlmkmamkmnmkmamkmlmkmamkmamkmamkmlmkma...

output:

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

result:

ok 5000 tokens

Test #5:

score: 10
Accepted
time: 59ms
memory: 46336kb

input:

babababababababababababababababababababababababababababababababbbabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababbbabababababababababababababababababababababababababababababababbbabababababababababababababababababababababa...

output:

58
13
6
23
52
35
39
46
17
43
37
33
31
8
51
12
9
52
57
14
28
17
31
21
59
50
55
50
18
10
54
7
44
11
10
3
12
19
9
8
5
7
22
4
38
15
10
14
26
11
21
18
33
12
3
8
23
34
41
18
7
18
26
7
12
29
34
6
4
15
16
20
15
8
50
23
7
51
18
4
11
7
20
14
33
19
12
9
10
6
8
21
28
22
21
18
12
18
4
15
17
13
8
16
7
14
10
4
5
3...

result:

ok 2443 tokens

Test #6:

score: 10
Accepted
time: 57ms
memory: 45472kb

input:

aaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaa...

output:

43
25
18
13
12
27
16
18
22
24
13
20
34
18
5
27
26
27
8
10
6
9
9
14
22
15
34
25
19
24
19
18
13
7
21
14
2
33
7
46
16
18
19
12
25
8
7
14
22
2
2
12
19
3
20
15
18
10
8
8
8
12
5
12
18
22
7
15
16
36
21
11
11
14
8
13
12
2
5
40
14
15
2
5
11
4
12
16
11
9
9
6
6
18
16
11
15
18
13
15
8
24
19
9
5
15
18
8
13
5
31
...

result:

ok 2498 tokens

Test #7:

score: 10
Accepted
time: 76ms
memory: 46480kb

input:

baabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabcaaaaaaaacbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabba...

output:

67
7
4
13
81
3
8
92
28
86
94
92
71
23
73
26
24
13
71
88
98
42
70
45
82
63
5
80
57
49
48
77
88
5
98
96
65
52
11
24
52
51
76
90
9
10
58
43
36
48
82
73
10
14
90
54
74
12
32
36
71
46
8
46
20
38
22
68
54
73
66
32
95
63
52
7
40
97
27
13
42
59
41
14
9
44
53
52
92
30
36
27
86
90
59
95
12
36
42
16
24
58
23
5...

result:

ok 5000 tokens

Test #8:

score: 10
Accepted
time: 75ms
memory: 45492kb

input:

caaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaac...

output:

10
10
11
11
11
10
10
10
8
10
11
11
9
9
10
10
10
11
10
11
9
10
10
11
11
11
10
11
11
11
11
11
11
11
11
10
10
10
10
11
11
11
10
11
10
10
10
11
10
10
10
10
10
11
11
11
11
10
11
11
11
10
11
11
11
10
10
7
11
11
10
11
10
10
11
10
11
10
10
7
11
11
10
10
11
11
10
10
2
11
11
11
5
11
11
11
11
11
10
10
10
11
11...

result:

ok 1667 tokens

Test #9:

score: 10
Accepted
time: 89ms
memory: 46268kb

input:

cabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbb...

output:

38
38
38
37
38
38
38
9
37
38
8
38
37
38
38
38
38
38
38
37
27
38
38
38
38
38
38
30
38
38
38
38
38
38
38
38
24
38
38
38
38
38
38
38
38
38
37
38
5
38
32
25
38
38
38
38
38
38
38
38
38
38
38
37
38
37
38
31
38
38
38
38
38
38
12
38
38
37
38
38
38
38
37
38
38
38
23
38
38
38
38
24
38
38
38
38
38
35
38
38
38
...

result:

ok 1667 tokens

Test #10:

score: 10
Accepted
time: 59ms
memory: 46168kb

input:

baaabbbaaabbbbaaababbababbabbbbaaaababaababbbbababababbbaabbbaababaaaababbbaaabaaababbababaaabbabbbaaabbabbbabaabaaaababbbbabbbbbaabbabbaaaabaaabababbbaababbbaaaaaababbabaaabaaaabbbabbbaababbbbbbbbaabbbaabbabaabababbaabaabaabbbbbaaababbbbabbbababababaabbababaabbabbbbbbaaaaaaabaabbabbabaabbbbbaaaaaba...

output:

3
3
2
3

result:

ok 4 tokens

Test #11:

score: 10
Accepted
time: 44ms
memory: 46796kb

input:

abbaaabaabbbaabbabbbbbbaabbbbabbaabababaabbabbabaaabbabbbaaaabbabbaabbbabbbabbababaaaabbabbaabababbbaaababaababbabbaaabbbaabaaaaaabbbabbababaabbbbbabbbaaaaaaabbaaaabaaababbababaabaaabbbaaabbaabbabbabbbababbabbbbbbbbaabbabbbabbbbbbbababaabbbaabaabaabaaabababbaabbbbaaabbbbabbaabbbabbbababaababbabbabba...

output:

3
4
2
2
4
2
2
4
3
5
2
2
3
4
3
2
3
4
6
2
2
2
2
2
5
3
4
3
3
2
2
2
2
5
2
3
2
3
2
3
2
3
2
4
2
2
3
2
2
3
5
2
2
7
3
2
3
2
3
3
2
2
3
4
3
2
4
2
2
2
3
3
3
3
3
2
3
3
3
5
2
4
2
3
3
3
3
3
3
2
4
4
3
4
2
2
3
3
6
2
5
4
2
2
4
2
5
3
3
2
5
4
3
3
3
3
4
3
2
3
2
4
2
3
6
3
3
2
3
3
2
3
3
5
2
3
4
3
5
3
3
3
3
4
2
3
3
2
3
2
...

result:

ok 4997 tokens

Test #12:

score: 10
Accepted
time: 39ms
memory: 45764kb

input:

lxxhwqorbxrdzedxlvymggyicczuafgyovixrzmptqfmjyjfpamcsehmfazbvfwdgeftgbtyurnnykwjhzfqqsyiyzkpwlmspjsxdkjtpgzbrvwwcjqejmuillhgtbhwtwmvhacfphrcgwoaihjzkuccmwuidivmpjcezbjywhbqtdgrhlrskcwmecflzpjbuutlocivcfvbcdvlnfchtvvcpoubnjwfwvzvpyvhkvxdmleyvucrondntpaonjybzarkgjnkuuvipkqgvwzzzopwyfnmodnmdziueescfttr...

output:

1
1
1
1
1
2
1
1
1
1
1
1
2
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
2
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
2
2
1
2
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

result:

ok 2493 tokens

Test #13:

score: 10
Accepted
time: 74ms
memory: 45452kb

input:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

849
1135
1444
1346
1445
536
3077
2631
1447
672
2214
2149
2090
4054
846
559
22
92
4224
161
2280
572
2347
2599
778
4093
750
3647
2142
642
474
1395
776
645
46
4141
2272
771
1564
207
4284
2896
3097
2829
306
1383
394
1776
1284
3933
102
510
1101
3639
1336
1292
2803
1159
601
1464
2585
673
281
1340
272
3310...

result:

ok 2478 tokens

Test #14:

score: 10
Accepted
time: 8ms
memory: 46500kb

input:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
...

result:

ok 4999 tokens

Subtask #2:

score: 0
Time Limit Exceeded

Test #15:

score: 10
Accepted
time: 6622ms
memory: 76612kb

input:

aabababbabbbbbbabbababaaaabababbabbbbbbabbababaaaabababbabbbbbbabbababaaaabababbabbbbbbabbababaabbbaaabbaabbbbaabbaaabbbaabababbabbbbbbabbababaaaabababbabbbbbbabbababaaaabababbabbbbbbabbababaaaabababbabbbbbbabbababaabbaaabaaaaaabaaabbaabababbabbbbbbabbababaaaabababbabbbbbbabbababaaaabababbabbbbbbabb...

output:

41
43
154
118
55
165
48
163
119
207
147
145
33
67
114
124
154
9
104
307
102
73
39
364
79
177
53
39
88
264
77
114
79
195
150
153
157
46
129
136
147
25
309
11
12
258
259
133
355
50
116
336
13
127
18
34
122
161
38
99
290
92
355
166
59
152
41
182
103
282
166
23
86
173
32
122
60
127
287
20
83
214
119
144...

result:

ok 200000 tokens

Test #16:

score: 10
Accepted
time: 7187ms
memory: 74608kb

input:

beebbeebbeebbeebbeebddbeebbeebbeebbeebbeebbeebbeebbeebbeebbeebddbeebbeebbeebbeebbeebbeebbeebbeebbeebbeebddbeebbeebbeebbeebbeebbeebbeebbeebbeebbeebddbeebbeebbeebbeebbeebccbeebbeebbeebbeebbeebddbeebbeebbeebbeebbeebbeebbeebbeebbeebbeebddbeebbeebbeebbeebbeebbeebbeebbeebbeebbeebddbeebbeebbeebbeebbeebbeeb...

output:

38
55
18
35
62
44
48
20
70
35
36
42
40
11
14
13
67
54
61
70
51
27
62
18
39
52
53
53
34
57
53
46
28
22
15
64
32
44
11
11
57
35
21
45
32
39
42
27
31
51
28
31
18
12
25
41
55
37
42
17
38
33
21
29
54
15
43
24
17
42
63
19
32
49
17
21
50
62
52
56
49
56
18
24
17
22
26
18
60
31
24
59
58
69
18
16
38
39
54
48
...

result:

ok 200000 tokens

Test #17:

score: 10
Accepted
time: 6168ms
memory: 76376kb

input:

cgaaaabgceiddiecgbaaaagccgaaaabgceiddiecgbaaaagccgaaaabgceiddiecgbaaaagccgaaaabgceiddiecgbaaaagccgaaaabgceiddiecgbaaaagcaidiaaidiacgaaaabgceiddiecgbaaaagccgaaaabgceiddiecgbaaaagccgaaaabgceiddiecgbaaaagccgaaaabgceiddiecgbaaaagccgaaaabgceiddiecgbaaaagccgaaaabgceiddiecgbaaaagccgaaaabgceiddiecgbaaaagccg...

output:

17
15
19
21
17
18
21
12
12
15
18
20
14
14
16
20
15
19
11
17
10
20
16
16
16
19
12
17
16
15
18
12
24
20
12
19
9
17
13
21
28
10
13
17
10
14
13
24
17
17
19
24
11
18
16
14
13
13
17
13
22
21
20
14
7
11
18
15
18
12
12
12
19
14
15
16
19
20
16
23
19
16
18
13
24
22
17
13
15
21
21
22
13
21
19
20
9
20
14
14
15
...

result:

ok 200000 tokens

Test #18:

score: 10
Accepted
time: 5536ms
memory: 74564kb

input:

rprxrprmrprxrprkrprxrprmrprxrprhrprxrprmrprxrprkrprxrprmrprxrprwrprxrprmrprxrprkrprxrprmrprxrprhrprxrprmrprxrprkrprxrprmrprxrprvrprxrprmrprxrprkrprxrprmrprxrprhrprxrprmrprxrprkrprxrprmrprxrprwrprxrprmrprxrprkrprxrprmrprxrprhrprxrprmrprxrprkrprxrprmrprxrprbrprxrprmrprxrprkrprxrprmrprxrprhrprxrprmrprx...

output:

7
8
5
9
9
6
8
8
7
7
8
12
4
9
8
8
9
11
10
9
8
10
5
6
5
10
11
6
6
10
7
3
12
9
6
12
10
7
13
9
10
8
7
7
9
9
13
9
11
11
7
11
5
5
3
9
10
7
10
12
11
12
9
9
11
12
8
4
6
8
12
10
5
4
7
10
4
7
6
4
8
6
5
9
7
9
12
10
8
11
7
11
8
7
8
6
8
9
8
10
9
5
8
5
11
8
8
7
5
3
11
8
10
6
10
10
8
9
4
5
9
8
7
10
7
4
7
10
11
9
9...

result:

ok 200000 tokens

Test #19:

score: 0
Time Limit Exceeded

input:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998...

result:


Subtask #3:

score: 10
Accepted

Test #21:

score: 10
Accepted
time: 5196ms
memory: 76332kb

input:

abbaaaabbabaaaaaabaabbaabbababbaaabbabbbabaabaabaaaaabaabbbbabbabbabbbababbbababababbbbabaabbaaababbbbbababbbbaabbbaaabaababababaabbbbbbaababaabbaaabaabbaaababbabbabbbbaaaaabaaabbbabbbbbbabbbabbabaabbbbbbbaaaabbaaaababbbaaaaaaababaabbbbaaabaaabbaabbbbbbababbaabbaaabbabbbbbabaababbaabaaaabbbbabababba...

output:

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
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
8
8
8
8
...

result:

ok 198 tokens

Test #22:

score: 10
Accepted
time: 3430ms
memory: 76248kb

input:

abbaababbabababbbbabababbbaaaabababbbbaabaabbbbabbbabbaabababbbabaaabbabbaabbbbbbaaababaababbbaabbbbaabbbaaaaaabaabbaabbaaaabaaabbaabbbaabbbababbbabbaaababaabaaabaabbabababaaaabaabbbbaaabbbbbbabbbbababbaabaabbbbabbaaabbaabaabbaabaabaaaaaabbaaabbbbbabbbbbaaabbabbabbaababaaabbabbaaaaaabbababbbaabbaabb...

output:

2
6
2
2
3
2
2
3
4
3
4
3
2
8
2
3
2
4
4
4
3
2
4
3
4
4
2
3
3
3
3
2
13
4
2
5
5
3
3
2
2
4
2
3
3
4
3
2
2
3
3
2
2
6
3
4
3
3
2
2
2
3
2
3
3
4
3
2
2
3
2
4
3
5
5
3
3
2
2
3
3
2
3
4
5
2
2
3
2
5
3
2
5
3
5
3
3
2
5
3
3
4
4
2
2
3
4
2
2
2
2
3
3
2
2
5
3
2
3
3
4
2
6
3
2
13
2
2
2
3
2
2
4
2
3
2
3
3
4
4
5
4
3
2
12
2
2
3
2...

result:

ok 199806 tokens

Test #23:

score: 10
Accepted
time: 4073ms
memory: 76184kb

input:

bbabbbaaaaabbbbabaabbaabbaabbbaabbabaaabaaabbbbabbbabaabbbbbbbabbbaabbbabbabaabababaaababaabaaabaabbbabbbbbabbbbbbbbbbbaaabaaaaabaaaaababbaaaaabbabaaabbabaabababaabbbabbbbaabaabbaaabaabbaabbbbbababbabaabbbbaaabaaaababbabbaaaabbabaabbabbbbbababbabbbaaabababbababbbaabbbbabbbbaaabbabbaaabbaaababbabaaab...

output:

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
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
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
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
2
2
2
2
2
2
2
2
2
2
2
2
2
2
...

result:

ok 199800 tokens

Test #24:

score: 10
Accepted
time: 2992ms
memory: 74564kb

input:

bababaaaaabbabbbbababbbbbbababbbbbaaaabbabbbbabaaababbababbaaabbabababbabbaabbabbbaababbbabaaaabbabbababbabbbabababbabbaabbbaabaabaabbbaabbabbabbababbabbaaabbbabababababaababaababbbaaababbbaababbbbabaaabaaabbababaaabbbbbaabababbbbbaabaaaaababaaabaababbaaababbbbabbbbbaababbababbbbabaabbabbbabaaaabbbb...

output:

3
2
2
2
4
2
2
4
2
3
2
4
4
2
3
2
2
2
3
3
3
3
3
2
4
5
4
2
3
2
3
2
3
2
2
3
3
3
3
3
3
3
2
3
2
3
3
3
2
4
3
3
2
2
3
5
2
3
3
3
3
2
4
4
3
2
2
2
7
3
3
2
4
2
5
5
4
3
2
4
2
2
2
2
3
4
2
6
5
3
2
4
3
3
3
3
5
3
4
2
2
2
2
2
3
2
3
3
4
5
3
2
2
2
2
3
5
2
4
2
3
2
5
3
2
3
2
3
3
2
3
2
2
2
3
2
2
2
3
3
4
2
4
4
3
5
5
3
4
2
...

result:

ok 199800 tokens

Test #25:

score: 10
Accepted
time: 5122ms
memory: 74304kb

input:

aaabaaababbbabaaaababbbaabaaaabababaaabbaaaabbbbbabbaabbbbbbabbabbbaabaaaabbbabbbbbbbbaabbaaaaaabbabbaabbaaaaaabaaaabbbbbbaabbaabaaabbbaaaaaaabbbabaaaaabbbabbbaaabaaaabababaaaaaaabaaabaababbbbabbbabbbaabbbbaaaabbbbaababaababaaabbaabbbaabbabaabaaabbabaaababbaaaaabaaaabbbbabaaabbbaaaaabababbabaabbabab...

output:

3
2
3
3
2
2
3
3
2
4
2
4
3
4
3
2
3
2
2
4
2
2
2
3
2
3
2
2
2
3
4
4
3
2
2
6
2
4
3
4
4
3
2
2
5
2
2
3
4
3
3
3
7
4
3
4
3
2
4
4
4
4
3
3
3
2
2
2
3
3
2
3
6
2
2
3
3
2
2
2
2
2
2
3
2
3
2
5
4
3
3
3
2
3
3
4
2
2
4
4
2
3
3
2
6
3
2
3
4
3
2
3
3
2
3
2
2
3
4
3
4
3
2
3
3
2
2
2
3
5
2
3
3
3
2
2
2
4
2
2
4
3
2
2
3
3
3
2
2
2
...

result:

ok 211 tokens

Test #26:

score: 10
Accepted
time: 3404ms
memory: 76300kb

input:

ababaaabaabbbaabbaabaaaabaaabaabbababbababaabbaabbbbaaabaabaabaaaabaababbbaabbabbaaabaabbaabababbbababbabaaaabbabbbbbbaabababbbbababbaaabaaababbbbaabbaaaabbbbaaabbbabbabbaabbbbababbaabaabbabbababbabbaababbbaaaaababbaabbbbabaabbbabbbbbaaababbaaabbbbaaababbaababaaabaaabaababbabaabaabbbbaaaaabbababaaab...

output:

3
2
2
3
3
5
3
4
3
3
2
3
4
2
3
4
3
3
3
2
3
4
2
4
2
3
2
2
2
3
3
4
3
2
3
3
4
4
3
2
3
3
3
2
3
2
3
3
5
2
2
2
4
3
3
2
2
2
5
4
3
7
2
3
2
5
3
2
3
3
3
3
3
2
2
4
3
3
2
2
2
2
3
2
7
3
2
3
3
2
2
3
2
2
3
3
4
3
4
3
4
3
2
2
3
3
3
4
3
5
5
2
2
3
4
5
3
3
5
3
2
2
3
2
8
3
5
5
3
3
2
3
4
2
2
4
2
2
2
2
2
4
4
3
4
3
3
2
3
2
...

result:

ok 199782 tokens

Subtask #4:

score: 10
Accepted

Test #27:

score: 10
Accepted
time: 2660ms
memory: 74584kb

input:

babbaaabbbbbbbabbbababaabbbbbababababbaabaabbbbbbabbbbbbbbbbababbbbabbaabbbaabaabbabbbaabbabbbabbababaababbbabbbbaabbabbabbaaaabbbaaabbbbaabbaaaaaaabbbabbbaaabaababaaabaaaabaaaababaaaaababaaaabaabbaaaabbbabbaabaabbbabbbbbaaabaababbbaaaaabbbbaaabbbbaabbabbbbabbbabbaaaaabaabaaaabbbabbbbbaabbbbabbbbaab...

output:

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
...

result:

ok 100490 tokens

Test #28:

score: 10
Accepted
time: 4338ms
memory: 74480kb

input:

lqdvhpozemuhtibmunxftkdjjdktfxnumbithumezophvdqllqdvhpozemuhtibmunxftkdjjdktfxnumbithumezophvdqlfibyjjybiflqdvhpozemuhtibmunxftkdjjdktfxnumbithumezophvdqllqdvhpozemuhtibmunxftkdjjdktfxnumbithumezophvdqlewwelqdvhpozemuhtibmunxftkdjjdktfxnumbithumezophvdqllqdvhpozemuhtibmunxftkdjjdktfxnumbithumezophvd...

output:

487
218
218
140
154
154
148
148
64
64
334
160
7
7
7
7
7
7
7
101
101
91
91
6
6
442
143
429
121
113
113
54
33
33
33
33
172
172
149
33
33
33
33
33
33
33
355
355
355
338
272
272
57
57
57
57
29
29
29
29
29
109
109
9
9
9
9
9
9
9
238
238
238
238
163
163
163
194
194
186
186
83
83
406
266
79
79
79
79
79
79
7...

result:

ok 66667 tokens

Test #29:

score: 10
Accepted
time: 4356ms
memory: 74584kb

input:

vbghxazviovddvoivzaxhgbvvbghxazviovddvoivzaxhgbvwwxxlwqetrlgyolqqloyglrteqwlxxwwvbghxazviovddvoivzaxhgbvvbghxazviovddvoivzaxhgbvvbghxazviovddvoivzaxhgbvvbghxazviovddvoivzaxhgbvwwxxlwqetrlgyolqqloyglrteqwlxxwwvbghxazviovddvoivzaxhgbvvbghxazviovddvoivzaxhgbvvbghxazviovddvoivzaxhgbvvbghxazviovddvoivzax...

output:

13
8
13
5
5
5
13
12
5
5
5
5
5
5
5
5
12
12
12
12
12
12
12
13
9
9
5
13
13
12
12
12
12
12
12
13
13
13
13
13
12
12
12
13
13
13
13
13
12
12
12
12
12
13
5
5
13
13
13
13
13
13
13
12
12
12
12
11
6
6
13
5
13
13
13
13
11
11
11
11
8
8
8
8
8
8
8
13
13
13
13
13
5
5
5
5
5
13
12
12
9
9
9
9
9
9
9
12
12
12
12
12
12
...

result:

ok 66667 tokens

Test #30:

score: 10
Accepted
time: 4876ms
memory: 76572kb

input:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000
200000...

result:

ok 66667 tokens

Test #31:

score: 10
Accepted
time: 2290ms
memory: 74244kb

input:

ghiifdahihabedjhaaagicjebeaeaefagddbhdjijffjeebbhhheghafibahfcegfeccfhejdhceiiihfeccbdgjdiddhbbdafjhiejbbaihdddhcgcebgdibhbeididbcabjgghdhgajidbfbfehabfaggifgabhfjcehgjhhcfiihhdhgchacicdeahjcjcjcdfdbfigdfeghacfgafahifegafheibbdieadaijeahfhadiefajgchjefhicaaificdafifadcfddahadhbaegdchhijefdbhgicfggfc...

output:

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
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
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
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
2
2
2
2
2
2
2
2
2
2
2
2
2
2
...

result:

ok 100279 tokens

Test #32:

score: 10
Accepted
time: 4483ms
memory: 76516kb

input:

jheehjebdaaeffadebbedaffeaadbejheehjjheehjebdaaeffadebbedaffeaadbejheehjjheehjebdaaeffadebbedaffeaadbejheehjjheehjebdaaeffadebbedaffeaadbejheehjjheehjebdaaeffadebbedaffeaadbejheehjjheehjebdaaeffadebbedaffeaadbejheehjjheehjebdaaeffadebbedaffeaadbejheehjjheehjebdaaeffadebbedaffeaadbejheehjjheehjebdaae...

output:

21
21
21
21
21
21
21
21
17
21
21
21
21
21
21
21
21
20
21
20
20
21
21
21
21
21
20
21
21
21
21
21
21
21
21
20
21
21
21
21
21
21
21
21
21
21
21
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
13
21
21
21
21
20
21
21
21
21
21
21
21
21
21
21
14
21
21
21
21
21
21
21
21
21
21
21
21
17
21
...

result:

ok 66666 tokens

Test #33:

score: 10
Accepted
time: 4859ms
memory: 74704kb

input:

babaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababaababaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababbabaababaababaababbabaababbabaababbabaababbabaababbabaababbabaabab...

output:

56
46
69
41
76
76
36
76
57
76
76
54
76
76
60
32
30
76
76
49
76
76
76
76
27
53
72
76
76
64
76
76
29
57
47
76
29
76
76
76
76
36
74
76
76
76
76
76
76
76
76
27
76
76
15
76
76
76
76
46
49
76
76
62
76
66
76
76
76
76
74
70
76
50
51
76
76
76
76
76
76
76
41
76
61
76
76
70
42
44
76
76
35
73
35
76
76
57
76
76
...

result:

ok 66666 tokens

Test #34:

score: 10
Accepted
time: 5336ms
memory: 74948kb

input:

abbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaabbaabbaabbaabbaaaab...

output:

4079
4079
513
513
513
513
513
11113
11113
3338
1846
1846
1846
4331
2774
4198
4198
4198
4198
2320
2320
2320
11113
11113
1054
1054
1054
1054
1054
1054
1054
1054
11113
11113
5955
5955
5955
5955
4318
4318
4318
4318
4318
4318
11113
11113
10532
10532
5226
5226
5226
3399
3399
3399
3399
3399
11113
11113
111...

result:

ok 66667 tokens

Subtask #5:

score: 30
Accepted

Dependency #1:

100%
Accepted

Test #35:

score: 30
Accepted
time: 2248ms
memory: 76192kb

input:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

199105
199317
198628
198977
198643
198338
198952
198567
198980
198350
199045
199831
199124
199126
199123
199367
198992
198131
198623
199391
199376
199431
198418
198674
199222
199031
198833
198400
199208
198925
198477
198700
198952
199129
199580
199549
198972
199285
199185
198739
199281
199208
198920...

result:

ok 24945 tokens

Test #36:

score: 30
Accepted
time: 2099ms
memory: 74752kb

input:

abbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaabbaaaabbaabbaaaabbaabbaaaabbaabbaaaab...

output:

48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
...

result:

ok 50000 tokens

Test #37:

score: 30
Accepted
time: 1964ms
memory: 74412kb

input:

bbbbbbabaababbbbbbbbbbbbabaababbbbbbbbbbbbabaababbbbbbbbbbbbabaababbbbbbbbbbbbabaababbbbbbbabbbaabbaabbbabbbbbbbabaababbbbbbbbbbbbabaababbbbbbbbbbbbabaababbbbbbbbbbbbabaababbbbbbbbbbbbabaababbbbbbbbbbbbabaababbbbbbbbbbbbabaababbbbbbbbbbbbabaababbbbbbbbbbbbabaababbbbbbbbbbbbabaababbbbbbbabbbaabbaabbb...

output:

1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
1029
...

result:

ok 49950 tokens

Test #38:

score: 30
Accepted
time: 2620ms
memory: 74244kb

input:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998
199998...

result:

ok 49947 tokens

Test #39:

score: 30
Accepted
time: 1422ms
memory: 74240kb

input:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

200000
200000
38385
38385
33776
33776
4138
200000
200000
200000
200000
78010
200000
200000
125726
125726
125726
125726
125726
125726
125726
125726
68615
68615
68615
40794
40794
40793
40793
199213
199213
194729
185537
185537
64215
64215
64215
64215
21860
21861
21861
21861
21861
21861
200000
192672
13...

result:

ok 16668 tokens

Test #40:

score: 30
Accepted
time: 1333ms
memory: 76772kb

input:

bbabbaabbabbbbabbaabbabbabbabbabbaabbabbbbabbaabbabbbbabbaabbabbbbabbaabbabbabbabbabbaabbabbbbabbaabbabbbbabbaabbabbbbabbaabbabbabbabbabbaabbabbbbabbaabbabbbbabbaabbabbbbabbaabbabbabbabbabbaabbabbbbabbaabbabbbaaabbbbbbbbbbbbbbbbaaabbbabbaabbabbbbabbaabbabbabbabbabbaabbabbbbabbaabbabbbbabbaabbabbbbab...

output:

49
49
49
49
42
42
42
42
42
42
49
40
49
49
49
42
42
42
42
42
42
37
37
37
37
37
49
49
44
44
44
44
44
44
44
44
49
41
41
41
41
41
49
49
49
49
49
45
45
49
45
45
45
45
45
41
41
41
41
44
44
44
44
36
36
36
36
49
49
49
48
48
48
48
44
49
49
43
43
39
49
49
49
49
49
49
49
49
49
49
49
49
49
47
47
47
20
20
49
43
...

result:

ok 16667 tokens

Test #41:

score: 30
Accepted
time: 1363ms
memory: 76808kb

input:

aaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabbbaaaaaabbbaaaabb...

output:

265
85
85
85
85
85
85
85
75
75
75
75
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
169
168
168
168
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
144
144
144
111
111
111
111
111...

result:

ok 16685 tokens

Test #42:

score: 30
Accepted
time: 1264ms
memory: 76516kb

input:

bdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbadggdabdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbadggdabdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbadggdabdcaacdbbdcaacdbbdcaacdbbdcaacdbbdcaacdbbd...

output:

30
29
25
25
25
24
22
22
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
33
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
18
18
18
18
18
18
18
...

result:

ok 16679 tokens

Test #43:

score: 30
Accepted
time: 1979ms
memory: 74632kb

input:

babaaababaababaaababbabaaababaababaaababbbbbbabaaababaababaaababbabaaababaababaaababbabaaababaababaaababbabaaababaababaaababbbbbbabaaababaababaaababbabaaababaababaaababbabaababbabaaababaababaaababbabaaababaababaaababbbbbbabaaababaababaaababbabaaababaababaaababbabaaababaababaaababbabaaababaababaaabab...

output:

27
27
27
27
26
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
15
15
15
15
15
15
15
15
15
15
15
27
27
23
23
23
23
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
27
27
27
27
27
26
26
...

result:

ok 16688 tokens

Test #44:

score: 30
Accepted
time: 2072ms
memory: 74808kb

input:

babbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbaabbbaaaabbbaabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabbaabbabbabb...

output:

42
25
43
32
26
33
38
39
49
45
45
38
24
22
11
11
49
46
27
43
33
43
31
41
24
54
42
42
59
42
28
42
37
34
41
34
48
37
35
34
27
37
44
27
23
29
19
18
39
18
38
47
36
39
28
56
30
37
29
25
22
29
24
49
25
19
27
44
31
42
43
49
44
30
57
48
41
51
26
47
37
25
28
31
45
47
35
38
40
32
34
45
41
51
51
34
38
25
44
30
...

result:

ok 16667 tokens

Test #45:

score: 30
Accepted
time: 2125ms
memory: 76824kb

input:

aaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaabaaaabaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaabaaaabaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaabaaaabaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaaaabaabaaaba...

output:

21
21
22
21
8
18
19
23
22
20
15
18
15
25
18
19
6
21
21
13
26
12
15
22
16
18
19
13
16
13
17
8
14
13
18
23
24
13
12
15
17
9
9
20
19
14
12
17
16
17
11
19
15
15
24
24
19
22
16
25
28
12
12
19
17
23
15
14
17
25
21
14
17
32
11
22
19
14
19
20
13
17
16
14
15
18
12
18
23
10
11
17
22
21
16
11
22
21
13
15
4
18
...

result:

ok 16668 tokens

Test #46:

score: 30
Accepted
time: 1886ms
memory: 76696kb

input:

dbhiihbddbhiihbddbhiihbddbhiihbddbhiihbdicfhbbhfcidbhiihbddbhiihbddbhiihbddbhiihbddbhiihbddbhiihbddbhiihbddbhiihbddbhiihbddbhiihbdicfhbbhfcidbhiihbddbhiihbddbhiihbddbhiihbddbhiihbdaeahcdeiijebbejiiedchaeadbhiihbddbhiihbddbhiihbddbhiihbddbhiihbdicfhbbhfcidbhiihbddbhiihbddbhiihbddbhiihbddbhiihbddbhiih...

output:

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

result:

ok 16668 tokens

Test #47:

score: 30
Accepted
time: 1229ms
memory: 74624kb

input:

cgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgccgjeffejgc...

output:

61
101
115
22
36
54
92
86
56
71
34
69
52
38
74
43
56
82
89
86
68
77
96
64
95
59
35
35
80
40
41
42
95
36
88
84
64
96
40
60
64
40
53
41
33
86
33
35
60
76
88
31
57
87
24
43
15
32
32
63
77
62
74
29
33
17
23
3
41
23
20
19
19
15
24
50
18
58
29
79
80
20
66
33
66
16
56
80
26
30
3
33
65
29
35
61
20
27
33
56
...

result:

ok 24884 tokens

Test #48:

score: 30
Accepted
time: 1714ms
memory: 76556kb

input:

onnoaidkndogsuusgodnkdiaonnoonnoaidkndogsuusgodnkdiaonnotixntqllqtnxitonnoaidkndogsuusgodnkdiaonnoonnoaidkndogsuusgodnkdiaonnoonnoaidkndogsuusgodnkdiaonnoonnoaidkndogsuusgodnkdiaonnotixntqllqtnxitonnoaidkndogsuusgodnkdiaonnoonnoaidkndogsuusgodnkdiaonnoonnoaidkndogsuusgodnkdiaonnoonnoaidkndogsuusgodn...

output:

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

result:

ok 16667 tokens

Test #49:

score: 30
Accepted
time: 1847ms
memory: 76660kb

input:

mnmymnmsmnmymnmpmnmymnmsmnmymnmrmnmymnmsmnmymnmpmnmymnmsmnmymnmpmnmymnmsmnmymnmpmnmymnmsmnmymnmrmnmymnmsmnmymnmpmnmymnmsmnmymnmpmnmymnmsmnmymnmpmnmymnmsmnmymnmrmnmymnmsmnmymnmpmnmymnmsmnmymnmpmnmymnmsmnmymnmpmnmymnmsmnmymnmrmnmymnmsmnmymnmpmnmymnmsmnmymnmumnmymnmsmnmymnmpmnmymnmsmnmymnmrmnmymnmsmnmy...

output:

10
9
5
9
7
7
10
6
7
6
10
7
10
10
10
8
6
6
8
6
9
6
7
7
9
10
9
7
3
12
7
11
9
9
5
10
5
8
3
3
5
7
6
9
5
6
8
9
7
8
4
7
8
3
7
8
10
8
6
7
5
9
7
9
6
8
9
7
8
7
12
7
9
9
9
7
9
11
8
10
10
7
10
9
6
9
10
8
6
6
8
7
11
12
7
11
10
7
10
12
10
8
7
10
8
4
5
4
8
8
12
9
6
9
10
9
6
10
9
8
6
8
9
5
7
9
5
6
9
5
4
6
6
5
4
5
...

result:

ok 16670 tokens

Test #50:

score: 30
Accepted
time: 2209ms
memory: 74800kb

input:

aaabaaaaaaabaaabaaabaaaaaaabaaabaaabaaaaaaabaaabaaabaaaaaaabaaaaaaabaaaaaaabaaabaaabaaaaaaabaaabaaabaaaaaaabaaabaaabaaaaaaabaaaaaaabaaaaaaabaaabaaabaaaaaaabaaabaaabaaaaaaabaaabaaabaaaaaaabaaaaaaabaaaaaaabaaabaaabaaaaaaabaaabaaabaaaaaaabaaabaaabaaaaaaabaaabaaabaaaaaaabaaabaaabaaaaaaabaaabaaabaaaaaaab...

output:

19
15
18
14
15
13
16
19
12
13
14
11
14
18
12
12
12
15
11
9
16
10
17
14
18
13
11
16
12
14
11
15
15
10
16
18
17
11
15
15
9
17
9
16
14
9
8
14
9
6
9
11
6
14
13
13
16
16
13
17
16
13
14
16
15
15
13
11
9
14
16
15
14
10
7
9
18
11
9
11
13
10
10
14
12
12
11
14
9
8
9
13
12
13
14
12
10
11
14
9
14
10
11
8
7
12
1...

result:

ok 16672 tokens

Test #51:

score: 30
Accepted
time: 1320ms
memory: 74628kb

input:

iiiiiiiiiiiiiiiioxpoopxoiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioxpoopxoiiiiiiiiiiiiiiiipokkopiiiiiiiiiiiiiiiioxpoopxoiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioxpoopxoiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioxpoopxoiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioxpoopxoiiiiiiiiiiiiiiiipokkopiiiiiiiiiiiiiiiioxpoopxoiiiiiiiiiiiiiiiiiiiiiiii...

output:

271
252
259
144
132
121
135
139
127
127
144
123
127
117
119
123
132
135
134
129
128
143
134
124
143
132
131
135
117
129
122
143
143
130
132
127
120
150
132
54
32
30
53
42
32
56
53
44
33
47
44
42
47
40
54
43
35
41
44
44
50
50
59
58
41
43
32
45
44
48
42
42
30
32
36
54
48
35
39
33
40
33
32
42
33
49
36
...

result:

ok 25053 tokens

Test #52:

score: 30
Accepted
time: 1242ms
memory: 76444kb

input:

aaaabbabbbbaaaaabaaaaabbbaabbbababaababbabaaaabbbabbaabbaabbbbbaabbabbbaababbbbaabababaabbbbaaabbbaaabbaaaaaabbbbbbbbbaabbbbababaabbbbbbbbabbabaaaaabbabbabaabaabbaabaababaabbbababbaabaabbbabbabbbabaabaababbaaaaabbbbababbabaaaabbbabababbbabababaaaababbabbaabbabababbbabbaaaaaabaabaaaaabababbaaaaaabbaa...

output:

3
2
2
2
7
2
2
3
2
2
2
2
2
3
2
2
5
3
3
3
3
3
3
4
2
3
3
3
4
3
3
3
3
3
3
3
6
3
2
3
3
3
3
3
2
3
2
2
2
2
2
3
2
3
4
3
3
3
4
4
3
5
2
2
3
6
3
5
2
3
2
2
4
2
4
3
3
2
3
3
3
2
2
2
2
3
3
3
2
2
2
4
3
4
4
2
3
2
2
3
2
3
5
4
4
3
2
2
3
3
3
2
2
8
3
3
4
2
2
2
3
2
3
2
3
4
2
3
2
5
3
3
4
2
2
7
2
3
2
3
2
3
2
3
3
3
5
2
3
2
...

result:

ok 25068 tokens

Test #53:

score: 30
Accepted
time: 1944ms
memory: 74532kb

input:

bbbabaabbbabaabbaababbbaababbbbbbabaabbbabaabbaababbbaababbbbbbabaabbbabaabbaababbbaababbbbbbabaabbbabaabbaababbbaababbbbbbabaabbbabaabbaababbbaababbbbbbabaabbbabaabbaababbbaababbbbbbabaabbbabaabbaababbbaababbbbbbabaabbbabaabbaababbbaababbbbbbabaabbbabaabbaababbbaababbbbbbabaabbbabaabbaababbbaababbb...

output:

1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
1869
...

result:

ok 50000 tokens

Subtask #6:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%