QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#301405#4051. 学术社区A_programmer100 ✓414ms23136kbC++175.5kb2024-01-09 20:12:242024-01-09 20:12:24

Judging History

This is the latest submission verdict.

  • [2024-01-09 20:12:24]
  • Judged
  • Verdict: 100
  • Time: 414ms
  • Memory: 23136kb
  • [2024-01-09 20:12:24]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<int, int> pii;
const int N = 2.5e5 + 5;
const int maxn = 327800;
const int maxm = 2.5e5 + 5;
const int inf = 2e9 + 7;

bool vis[N], ins[N];
int U[N], V[N], pos[N];
int pre[N], nxt[N], id[N], id2[N], typ[N], bpos[N], epos[N];
vector<int> bg[77800], ed[77800], lx, ls;
unordered_map<string, int> mp;
set<pair<pii, int> > st;

struct edge
{
	int v, next;
	int flow;
}e[3000005];
int head[maxn], tot;

inline void addedge(int u, int v, int c)
{
	e[++tot] = (edge){v, head[u], c}; head[u] = tot;
	e[++tot] = (edge){u, head[v], 0}; head[v] = tot;
}

int n, m, S, T;
int d[maxn], cur[maxn];

bool bfs()
{
	queue<int> q;
	for (int i = S; i <= T; i++) d[i] = 0, cur[i] = head[i];
	d[S] = 1; q.push(S);
	while (!q.empty())
	{
		int u = q.front(); q.pop();
		for (int i = head[u]; ~i; i = e[i].next)
		{
			int v = e[i].v;
			if (!d[v] && e[i].flow)
			{
				d[v] = d[u] + 1;
				if (v == T) return true;
				q.push(v);
			}
		}
	}
	return false;
}

int dfs(int u, int flow)
{
	if (u == T || !flow) return flow;
	int rest = flow;
	for (int i = cur[u]; ~i; i = e[i].next)
	{
		int v = e[i].v;
		if (d[v] == d[u] + 1 && e[i].flow)
		{
			int k = dfs(v, min(rest, e[i].flow));
			if (!k) d[v] = 0;
			e[i].flow -= k;
			e[i ^ 1].flow += k;
			rest -= k;
			if (!rest) return flow;
		}
		cur[u] = i;
	}
	return flow - rest;
}

int Dinic()
{
	int maxflow = 0;
	while (bfs()) maxflow += dfs(S, inf);
	return maxflow;
}

int main()
{	
	ios::sync_with_stdio(false);
	cin.tie(0);
	
	int TT;
	cin >> TT;
	while (TT--)
	{
		cin >> n >> m;
		mp.clear(); st.clear();
		lx.clear(); ls.clear();
		for (int i = 1; i <= n; i++)
		{
			bg[i].clear(); ed[i].clear();
			string str;
			cin >> str;
			mp[str] = i;
		}
		mp["loushang"] = n + 1;
		mp["louxia"] = n + 2;
		
		for (int i = 1; i <= m; i++)
		{
			pre[i] = nxt[i] = ins[i] = typ[i] = 0;
			string st1, st2, st3;
			cin >> st1 >> st2 >> st3;
			int u = mp[st1], x = mp[st2], y = mp[st3];
			if (x >= 1 && x <= n && y > n)
			{
				U[i] = u, V[i] = x;
				if (y == n + 1) typ[i] = 2;
				else typ[i] = 1;
			}
			else
			{
				U[i] = V[i] = u;
				pos[u] = i;
				bg[u].emplace_back(i);
				ed[u].emplace_back(i);
			}
		}
		
		int ans = 0;
		for (int x = 1; x <= m; x++)	
			if (typ[x] == 2) st.insert(make_pair(make_pair(U[x], V[x]), x));
		for (int x = 1; x <= m; x++)
		{
			if (typ[x] != 1) continue;
			pii tmp = make_pair(V[x], U[x]);
			auto it = st.lower_bound(make_pair(tmp, 0));
			if (it == st.end()) continue;
			if ((*it).first == tmp)
			{
				int y = (*it).second;
				nxt[y] = x;
				pre[x] = y;
				ans += 2;
				ins[x] = ins[y] = 1;
				bg[U[x]].emplace_back(x);
				ed[V[x]].emplace_back(y);
				st.erase(it);
			}
		}
		for (int x = 1; x <= m; x++)
		{
			if (ins[x]) continue;
			if (typ[x] == 2) lx.emplace_back(x), ed[U[x]].emplace_back(x);
			else if (typ[x] == 1) ls.emplace_back(x), bg[U[x]].emplace_back(x);
		}
		
		int n1 = lx.size(), n2 = ls.size();
		S = 0, T = n1 + n2 + (n << 1) + 1;
		for (int i = S; i <= T; i++) head[i] = -1; tot = -1;
		
		for (int i = 1; i <= n1; i++)
		{
			addedge(S, i, 1);
			id2[i] = tot - 1;
			addedge(i, n1 + n2 + n + V[lx[i - 1]], 1);
			id[i] = tot - 1;
		}
		for (int i = 1; i <= n2; i++)
		{
			addedge(n1 + n2 + V[ls[i - 1]], i + n1, 1);
			id[i + n1] = tot - 1;
			addedge(i + n1, T, 1);
			id2[i + n1] = tot - 1;
		}
		for (int i = 1; i <= n; i++)
		{
			addedge(S, i + n1 + n2, bg[i].size());
			addedge(i + n + n1 + n2, T, ed[i].size());
		}
		
		ans += Dinic();
		for (int i = 1; i <= n1; i++)
			addedge(i, n1 + n2 + U[lx[i - 1]], 1);
		for (int i = 1; i <= n2; i++)
			addedge(n1 + n2 + n + U[ls[i - 1]], i + n1, 1);
		
		cout << ans + Dinic() << "\n";
		
		for (int j = 1; j <= n; j++)
		{
			int u = n1 + n2 + j;
			for (int i = head[u]; ~i; i = e[i].next)
			{
				int v = e[i].v;
				if (v && v <= n1 && e[i].flow) bg[j].emplace_back(lx[v - 1]);
			}
			
			u = n1 + n2 + n + j;
			for (int i = head[u]; ~i; i = e[i].next)
			{
				int v = e[i].v;
				if (v > n1 && v <= n1 + n2 && !e[i].flow)
					ed[j].emplace_back(ls[v - n1 - 1]);
			}
		}
		for (int i = 1; i <= n; i++)
		{
			bpos[i] = bg[i].size() - 1;
			epos[i] = ed[i].size() - 1;
		}
		
		for (int i = 1; i <= n1 + n2; i++)
		{
			if (e[id2[i]].flow) continue;
			if (e[id2[i]].v == T)
			{
				if (e[id[i]].flow) continue;
				int p = ls[i - n1 - 1];
				int x = bg[V[p]][bpos[V[p]]]; bpos[V[p]]--;
				nxt[x] = p; pre[p] = x;
			}
			else
			{
				if (e[id[i]].flow) continue;
				int p = lx[i - 1];
				int x = ed[V[p]][epos[V[p]]]; epos[V[p]]--;
				nxt[p] = x; pre[x] = p;
			}
		}
		
		for (int i = 1; i <= m; i++) vis[i] = 0;
		for (int i = 1; i <= m; i++)
			if (!pre[i] && !vis[i])
				for (int j = i; j; j = nxt[j]) vis[j] = 1;
		for (int i = 1; i <= m; i++)
			if (!vis[i])
			{
				int x = U[i], y = pre[i], z = pre[pos[x]];
				vis[i] = 1;
				for (int j = nxt[i]; j != i; j = nxt[j]) vis[j] = 1;
				if (typ[y] == 2)
				{
					nxt[z] = i; pre[i] = z;
					pre[pos[x]] = y; nxt[y] = pos[x];
				}
				else
				{
					y = nxt[i], z = nxt[pos[x]];
					pre[z] = i; nxt[i] = z;
					nxt[pos[x]] = y; pre[y] = pos[x];
				}
			}
		
		for (int i = 1; i <= m; i++)
			if (!pre[i])
				for (int j = i; j; j = nxt[j]) cout << j << " ";
		cout << "\n";
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 4
Accepted
time: 2ms
memory: 7284kb

input:

5
7 10
A
B
C
D
E
F
G
A A A
B B B
C C C
D D D
E E E
F F F
G G G
A B loushang
C B loushang
G B loushang
3 10
A
B
C
A A A
B B B
C C C
A B loushang
C B loushang
B A louxia
B A louxia
B C louxia
B C louxia
A C loushang
3 10
A
B
C
A A A
B B B
C C C
A B loushang
A B loushang
B C louxia
B C louxia
A C louxi...

output:

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

result:

ok Correct.

Test #2:

score: 4
Accepted
time: 2ms
memory: 7296kb

input:

10
4 16
A
B
C
D
A abcdefghijkl ABCDEFGHIJKL
B abcdefghijkl ABCDEFGHIJKL
C abcdefghijkl ABCDEFGHIJKL
D abcdefghijkl ABCDEFGHIJKL
C D loushang
C B louxia
B C loushang
D A louxia
B D louxia
A A louxia
D A louxia
C D loushang
D C loushang
B A louxia
B B loushang
A A louxia
4 16
A
B
C
D
A abcdefghijkl AB...

output:

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

result:

ok Correct.

Test #3:

score: 4
Accepted
time: 4ms
memory: 7608kb

input:

30
32 153
JpwBq..HDsu
ThevfUaiXaim
rPzLFrkzS!x?
bId_HMvquumA
qIfydwrvFtUF
MEWFHdwhdv
lhPN?!NqYwM
glDverWioFj
XQrJZ?atrx
hpmKvNwWSyhm
!KyWsTyVYf
wbhBWyPFh.N
PSsASTqBzE
mLCSCCLz.O
t.mbBELmCr
r.I!!?VCwnJQ
I?u!__ObGu
?_WyipVJj_c
cLDIkTYgonB
RUklAjWZ!.om
WRXWhpWD.g
JNqhVkbJ_g
HxpqMsUj!XOV
WvkzijbZb!D
!wy...

output:

121
1 9 138 70 85 46 12 142 31 15 19 20 23 30 151 40 32 126 3 33 119 74 57 103 99 96 36 88 38 108 62 135 8 37 42 44 125 91 28 118 73 115 122 54 100 34 82 105 93 53 132 14 45 49 50 120 56 67 140 51 76 95 25 139 66 58 64 134 5 137 81 116 21 113 17 97 69 146 4 128 13 150 43 65 61 72 78 83 87 94 153 55 ...

result:

ok Correct.

Test #4:

score: 4
Accepted
time: 2ms
memory: 7524kb

input:

30
32 165
cOrq.aXFlS
hhUwqwEhbR
STbfehzpg_
.pEbZEBQ!CJ
!ZrjAUDsFKIV
DxAYVmTQHlG
mdehhvitnCx
Znc.cGD.dy
.rgMqdJwB.H
oDxVlF?.wxW
bxF_qUlnMs
dvhzBd?WJL
hbDuYRbJQpHF
YJfupPIUzJtk
mUR!I?Exxr
csFCwfWNkd_s
dcAMbqtmnYDA
FyE.mDdgzC
uYpIamtkCVR
dPQgKFgYZP
tTl!ExnlcY
oVNrqKw?.A
gigkZHizGX
dSoVEtHSEhWw
QhoSFhcs...

output:

133
6 138 146 50 117 7 135 121 49 103 59 55 18 157 4 19 23 110 28 130 40 109 143 2 127 1 145 105 13 34 64 129 35 96 17 153 20 39 99 9 154 32 43 53 61 66 47 51 56 60 69 147 84 42 74 89 67 72 144 124 79 142 120 161 3 140 58 108 82 86 165 62 85 90 92 102 16 134 14 75 22 106 45 91 159 113 95 97 29 88 11...

result:

ok Correct.

Test #5:

score: 4
Accepted
time: 3ms
memory: 7612kb

input:

30
37 174
iGtEwpQ?kqZO
OZqk?QpwEtGq
OZqk?QpwEtG?
jGtEwpQ?kqZO
OZqk?QpwEtGu
OZqk?QpwEtGO
IGtEwpQ?kqZO
OZqk?QpwEtGw
SGtEwpQ?kqZO
BGtEwpQ?kqZO
OZqk?QpwEtGb
oGtEwpQ?kqZO
KGtEwpQ?kqZO
XGtEwpQ?kqZO
UGtEwpQ?kqZO
nGtEwpQ?kqZO
OZqk?QpwEtGp
lGtEwpQ?kqZO
OZqk?QpwEtGg
_GtEwpQ?kqZO
OZqk?QpwEtGY
OZqk?QpwEtGr
OZqk...

output:

110
1 2 3 6 7 8 12 124 71 115 117 151 22 14 15 16 18 146 42 156 41 122 114 113 36 20 130 135 119 125 107 87 101 153 33 138 116 168 82 95 163 55 58 21 24 133 62 26 28 31 35 37 38 44 45 48 49 50 51 169 19 56 158 17 57 123 80 129 127 132 23 59 60 61 63 172 10 65 121 120 154 94 25 171 5 68 162 34 140 9 ...

result:

ok Correct.

Test #6:

score: 4
Accepted
time: 7ms
memory: 7584kb

input:

30
28 163
BzleygJkKK
gdGiNNA?k.
qglX_GEvVWd
cIpmqbJIAC!U
q_MotjTfNX
YrTvPGRTKbnW
jrzBmcBQsw
t.jM.YxMYD
dqOpPkNmBT
fCGQHr!vYf
PZrGVRcDdUz
kklKFtFFNqP
GHcfKydBiHTj
weFZpvkQlQ
lJhGmiBGtLlh
K!?qmzmYiu
SUbVc.PiSU
GoqemRLiXXs
VVMdGHbtSN
AcJhbRhURKW
JNwhBUZxSRk
wLzONCLeyAE
myyaktsMhEH
SVwzBQQh.GCi
kNxhFcjW...

output:

126
2 3 5 6 9 163 31 111 79 25 147 35 140 39 10 11 55 13 144 88 149 66 16 98 91 162 1 19 80 123 68 24 54 95 56 108 21 115 12 27 118 52 28 30 152 4 151 48 138 70 132 40 36 38 46 156 29 113 87 89 26 90 72 92 100 69 121 18 49 50 103 94 129 7 60 114 57 93 75 51 159 59 42 77 73 120 37 127 23 61 161 22 10...

result:

ok Correct.

Test #7:

score: 4
Accepted
time: 9ms
memory: 7604kb

input:

30
32 168
fj_yTpB_YcEv
!j_yTpB_YcEv
vEcY_BpTy_js
vEcY_BpTy_jg
Kj_yTpB_YcEv
Uj_yTpB_YcEv
vEcY_BpTy_jP
mj_yTpB_YcEv
vEcY_BpTy_ju
Zj_yTpB_YcEv
vEcY_BpTy_jv
Tj_yTpB_YcEv
bj_yTpB_YcEv
pj_yTpB_YcEv
vEcY_BpTy_ji
vEcY_BpTy_jF
.j_yTpB_YcEv
Yj_yTpB_YcEv
Aj_yTpB_YcEv
zj_yTpB_YcEv
vEcY_BpTy_jt
vEcY_BpTy_jX
vEcY...

output:

136
1 13 70 118 29 164 18 112 75 5 138 14 143 101 19 162 82 60 76 86 57 21 22 97 111 95 2 160 59 131 32 146 39 159 17 23 8 141 109 124 40 165 27 115 99 30 106 125 140 9 163 15 44 158 16 85 52 12 161 87 152 155 33 54 63 55 134 65 80 51 148 3 117 46 42 58 71 98 147 94 61 153 89 166 11 133 66 84 108 14...

result:

ok Correct.

Test #8:

score: 4
Accepted
time: 6ms
memory: 7628kb

input:

30
32 168
OFBjSz_NqA
vFz!ZTNzIR
nljJhG!ro_
N!EqwUCFSIO
.lkTtUQuz_
rlkrtassDAu
EiqqUh?uNW
UrqRdKMSWCKi
aoeFwQvoftO
CXFPwk_AP.Sj
LXcKqfiasOQ
iEGWfwPkvDHt
AMIAlbc?giw
zDOWiTF!KQG
flUCnUqcPwh
EHsxJUvQgm
ueCDm_SlwA
TsnKKyLOqv
vZjVxrc!PDg
hQHuHuqfcqa
aDBXqENPORBX
uspFeYobvOe
WHdCXSApc.kQ
vqbyBV?!IL
NixXod...

output:

136
9 168 97 61 120 72 18 27 31 14 145 38 146 90 118 87 40 42 123 125 46 164 41 137 141 71 158 96 49 51 77 153 55 102 53 131 5 116 56 54 62 103 65 126 28 64 67 73 16 74 78 26 148 43 150 91 127 45 79 11 155 7 128 23 85 63 138 83 95 124 50 101 86 39 144 29 143 99 160 58 20 142 76 105 151 52 81 48 32 1...

result:

ok Correct.

Test #9:

score: 4
Accepted
time: 4ms
memory: 7636kb

input:

30
296 2195
K!YyGhp!Gl.Y
lFLYZGmNLy
pVAZuRySnD!g
RwwPPFcLMG
_QNQsvJNqhkZ
bslmJT.yuL
wOWjJfHqkD
yYAnD!pqJtP
pdjijhpxvX
Hk_IiwGCjV
eebSCJnHyd
LFMtXMAasMB
VYbnctPAg?
YDuIpaoDTEBY
de??KzSim_ub
VRVAGbwJYLl
.s?BbsCNWj
IHOaqvdxsx
DncVyohjab
aQQMMijXpBSi
rVxMTXneoFm
?HJXsmbXH?v.
c.KrBqwh?sI
kLoczbNPmMue
oat...

output:

1898
2 2026 1639 1872 209 4 1669 922 625 911 539 455 1803 528 1376 287 1634 303 826 777 1936 931 2150 359 1158 1585 406 1452 675 1473 486 1821 869 1243 854 1436 1018 1400 366 900 16 1941 518 1487 1285 1883 770 1959 781 1491 114 2183 613 2057 584 1419 1502 941 705 1160 32 1323 957 1753 119 1431 1506 ...

result:

ok Correct.

Test #10:

score: 4
Accepted
time: 7ms
memory: 7604kb

input:

30
34 149
TfqnSAOpxRq
DtwPJm.ghzkO
hHdCRvQJG.At
l.WQg.v!yICt
nHPzIZPy!zoJ
.WKOXmnLvGmK
p_MM.vADQk
_EswrdFyyoaf
zrcIzTuVJtN
OfpWwS!byAky
pEEmid?xVi
ueim_rfLdR.?
cHZv!fwIlef
VVozgCXwdX?
WgMZxRVMhQB
YErodqcTkpKS
tc!vNbsHiQh
blDcRTRsek
XmwLFhGPCyx
nOs!R_M?YQ
vzSo!rChKHw
QwhkNQRkFsw
gjVWRcGOBs
XQFgcwJVnl...

output:

107
3 4 144 16 81 85 43 124 13 42 5 6 112 67 17 9 10 11 126 119 60 99 64 120 97 14 93 79 46 90 106 68 91 18 108 92 21 146 23 125 31 24 35 130 38 25 69 94 51 28 33 36 39 78 98 29 100 114 72 109 53 44 45 55 148 48 66 107 95 26 88 54 49 20 139 41 132 50 52 127 96 58 80 63 137 59 141 2 70 74 77 62 47 10...

result:

ok Correct.

Test #11:

score: 4
Accepted
time: 7ms
memory: 7708kb

input:

30
39 181
BEiCGrRPmHFM
?FHmPRrGCiEB
oFHmPRrGCiEB
YFHmPRrGCiEB
BEiCGrRPmHF_
BEiCGrRPmHFp
lFHmPRrGCiEB
BEiCGrRPmHFD
BEiCGrRPmHFB
BEiCGrRPmHFC
BEiCGrRPmHFP
dFHmPRrGCiEB
BEiCGrRPmHFO
hFHmPRrGCiEB
zFHmPRrGCiEB
FFHmPRrGCiEB
EFHmPRrGCiEB
AFHmPRrGCiEB
yFHmPRrGCiEB
BEiCGrRPmHFx
BEiCGrRPmHFf
BEiCGrRPmHFJ
BEiC...

output:

131
1 175 21 125 124 117 28 15 151 90 84 2 115 169 45 68 102 120 8 13 14 79 17 155 29 22 26 123 83 11 23 42 93 80 172 9 3 24 30 31 165 95 178 37 32 177 35 107 38 160 163 59 40 41 44 48 119 20 170 153 50 82 88 51 78 138 87 141 66 52 113 105 62 5 64 56 43 55 76 97 139 39 61 72 152 132 63 173 25 65 134...

result:

ok Correct.

Test #12:

score: 4
Accepted
time: 3ms
memory: 7560kb

input:

30
299 2221
CUscRFl!Y!
!NGeGkkgqKf
mxi?xcEjAvY
vRLSjVAwyTf
Jos!CsOJWaHA
juLYYH_hPzZu
yrj?Gt!MQCO
YiWC!TgjaH?O
?uAUKATuTbvu
RfbOyy!UAzWx
qRvLUZDtC!C
piCrwPLEMDku
qSQXXWYnxz
hGM?ik.gGSfe
Z!PEbb_wOuGN
sXtTcp.Uwy
lD_RWWL.ylme
lxsAAozRfq.
iWBBxQsHYKN!
COHBMlBwf_Y
pHOGeB_xhb
wIRf?npomha
fKdzbGojyeGq
mkbSh...

output:

1865
2 5 2043 1495 11 812 12 373 1665 860 2060 188 635 1692 202 1508 480 1901 283 1240 71 1132 877 2095 315 342 1135 1571 13 2009 228 847 717 305 2108 84 14 16 1617 232 2125 655 1773 1591 1761 179 2133 1912 942 1458 1803 680 17 1690 1986 1868 1438 1358 792 427 2166 1652 814 2152 1185 2063 80 18 704 ...

result:

ok Correct.

Test #13:

score: 4
Accepted
time: 9ms
memory: 7568kb

input:

30
296 2191
.ls.paaIC.
vwPSDMubAA
PQjPGeOVesYQ
amhPAxTDcS
YHIYufo!Xk
PHp.ywUjrmaJ
PCZpBhINrsn
f?IOYZQ_RxM
uaitSaXHImn
SXPuuMuNbe
JfTEZmKXz?Q?
ypPKDcvi?L
HjoMtljhh_K?
mCSC?mrCppda
EYGtMXxhSXM
PNrrHyLFxGA
xFuxXBejBJDS
EIOYSBujnCu
.fqXVRnkkgdD
dXJtWg!DywME
?JvpnsbWCFk
ffYukXaAnJL
ytMQvDFSBkEn
zYZItVPDs...

output:

1842
1 2 1876 1363 1210 1324 1627 242 2066 1714 390 1313 1031 1440 1591 580 6 7 9 1994 449 1585 10 2073 703 633 14 16 1671 478 21 854 23 1723 178 2062 1305 1256 42 1505 2022 1413 1786 1597 24 1558 323 1581 160 19 2082 859 1177 1040 834 953 1111 796 2190 1345 2162 25 1960 1141 1053 725 1938 1262 26 1...

result:

ok Correct.

Test #14:

score: 4
Accepted
time: 131ms
memory: 21400kb

input:

100
37 229
fMbXOgQT.YC?
fMbXOgQT.YCA
fMbXOgQT.YCq
fMbXOgQT.YC!
fMbXOgQT.YCL
fCY.TQgOXbMf
fMbXOgQT.YCi
VCY.TQgOXbMf
fMbXOgQT.YCE
fMbXOgQT.YCW
gCY.TQgOXbMf
eCY.TQgOXbMf
fMbXOgQT.YCj
fMbXOgQT.YCZ
UCY.TQgOXbMf
fMbXOgQT.YCz
fMbXOgQT.YCv
fMbXOgQT.YCk
wCY.TQgOXbMf
.CY.TQgOXbMf
YCY.TQgOXbMf
fMbXOgQT.YCc
fMb...

output:

192
8 229 3 194 75 143 112 37 193 21 152 122 60 185 11 9 18 199 36 162 68 183 123 174 14 149 188 45 125 93 127 106 38 154 58 156 115 98 164 23 228 1 25 26 221 79 210 80 189 87 97 138 158 42 142 95 71 140 94 200 41 186 46 28 169 191 29 30 32 167 51 216 48 139 141 49 166 20 224 6 195 63 56 215 70 84 9...

result:

ok Correct.

Test #15:

score: 4
Accepted
time: 135ms
memory: 21404kb

input:

100
40 257
gE?fFSdapGwW
WwGpadSFf?Er
QE?fFSdapGwW
KE?fFSdapGwW
WwGpadSFf?EA
WwGpadSFf?Ev
lE?fFSdapGwW
cE?fFSdapGwW
WwGpadSFf?Ei
GE?fFSdapGwW
HE?fFSdapGwW
WwGpadSFf?Eq
zE?fFSdapGwW
WwGpadSFf?EL
dE?fFSdapGwW
WwGpadSFf?En
WwGpadSFf?Ee
aE?fFSdapGwW
WwGpadSFf?Eu
SE?fFSdapGwW
WwGpadSFf?Ef
WwGpadSFf?EF
?E?...

output:

217
20 30 32 243 117 199 50 170 78 34 211 47 48 255 22 57 153 216 26 230 73 142 191 21 171 86 63 64 160 44 65 241 13 192 39 122 202 41 151 128 208 180 174 61 70 76 82 220 4 88 207 181 62 91 226 6 203 19 53 150 51 168 209 167 194 33 213 56 37 138 169 68 130 166 164 31 237 28 251 23 92 93 99 102 104 2...

result:

ok Correct.

Test #16:

score: 4
Accepted
time: 133ms
memory: 21416kb

input:

100
48 235
rQwzIJIECH.
sHIrfxcFOzh?
fjyfN.VfyUc_
cqSJbkhGnvN
zQ_YiZJQG!p
dpB_yEOtYMsP
tZ!DgibUTCom
X!VbNNtjqAG
TVDBRrRK!Kg
ngRjPukiMgB
puuuHN.BdW
syI.!_kjVod
swGUueBxJkfC
PWpOzFkSjvB
IuRjFJwLeef
HrGDcoptd_L
uDqKFgRRbic
kDVinBwAyTe
!m?tIqISxLG
KweFXtM_XNSv
nlRYoYgiI!
_lo!z_rHy.T
.pErbUIEMAE
.RMMgrxez...

output:

166
1 2 3 6 12 13 17 20 22 203 223 52 195 129 164 34 221 35 24 25 170 152 7 202 146 26 28 213 120 117 140 11 219 40 206 130 95 207 136 137 161 16 32 36 191 78 61 145 127 63 39 44 234 33 45 46 47 165 106 51 54 55 65 56 157 60 227 68 57 59 215 42 62 67 69 72 75 232 15 198 49 138 81 76 64 83 87 89 90 9...

result:

ok Correct.

Test #17:

score: 4
Accepted
time: 170ms
memory: 23008kb

input:

100
49 231
hTKBowtR?xxV
CTKBowtR?xxV
jTKBowtR?xxV
tTKBowtR?xxV
fTKBowtR?xxV
yTKBowtR?xxV
Vxx?RtwoBKTe
Vxx?RtwoBKTp
Vxx?RtwoBKTJ
Vxx?RtwoBKTu
Vxx?RtwoBKTS
XTKBowtR?xxV
Vxx?RtwoBKTs
NTKBowtR?xxV
Vxx?RtwoBKTr
ZTKBowtR?xxV
BTKBowtR?xxV
ITKBowtR?xxV
DTKBowtR?xxV
Vxx?RtwoBKTE
Vxx?RtwoBKTM
Vxx?RtwoBKTL
UTK...

output:

182
1 187 20 215 34 7 203 50 179 62 9 13 192 73 132 126 161 218 111 18 185 156 219 145 11 21 24 216 66 226 6 26 231 27 200 65 146 82 201 29 39 41 165 120 112 8 190 54 170 74 196 148 44 118 94 68 105 117 52 131 129 173 45 167 130 160 5 134 150 128 155 109 125 171 88 147 19 47 182 184 99 55 33 225 48 ...

result:

ok Correct.

Test #18:

score: 4
Accepted
time: 184ms
memory: 22432kb

input:

100
38 256
ZARmlFP!BuNE
ENuB!PFlmRAv
tARmlFP!BuNE
ENuB!PFlmRAC
YARmlFP!BuNE
ENuB!PFlmRAN
EARmlFP!BuNE
JARmlFP!BuNE
zARmlFP!BuNE
ENuB!PFlmRAj
ENuB!PFlmRAg
rARmlFP!BuNE
BARmlFP!BuNE
sARmlFP!BuNE
oARmlFP!BuNE
mARmlFP!BuNE
WARmlFP!BuNE
eARmlFP!BuNE
ENuB!PFlmRAQ
ENuB!PFlmRAP
bARmlFP!BuNE
.ARmlFP!BuNE
ENu...

output:

218
12 162 103 13 18 239 44 112 240 183 69 189 7 175 60 100 249 49 20 221 88 141 208 46 204 41 104 120 106 68 93 201 98 236 153 111 231 45 150 199 244 36 5 250 83 245 32 200 33 22 214 74 256 4 136 253 25 23 229 9 169 66 203 47 232 234 147 140 24 217 168 29 149 57 173 84 110 155 114 72 121 48 206 113...

result:

ok Correct.

Test #19:

score: 4
Accepted
time: 181ms
memory: 22180kb

input:

100
42 222
jmkootSXiZ
mWhoHNURiY
VUseF.Y_KAr
zedzeXFnSV!h
MugQz?bXs?n
nxgnJZzbKZ
xP.ZFX!NG_T
mwut_dUUIIpe
P?YgAA.tHx
.ksdRBEDMVGR
J_iwVZXqVEN
MvsELmrvjrT
FuAsbulWTe
LDAUkkWmlT
KsdSADmwm.CQ
qzbLzm?IOhl
jLxpYahEXS
gAybIDI_VYi
jXasQbfNRnIA
o.YWEoULQMZ
hTMhqSnvFOWG
t?QEczqaYklA
PiaiBu_NPJt
Ezvig.in?G
AR...

output:

180
1 4 6 222 182 127 105 56 195 10 211 213 5 199 95 135 113 118 161 47 168 24 187 128 136 188 96 8 11 193 134 16 215 48 19 190 84 100 77 51 20 26 104 163 184 138 65 109 137 82 92 116 49 117 94 67 75 81 192 99 123 36 30 33 162 157 39 37 38 41 45 208 178 85 101 180 197 46 141 144 55 217 29 57 214 210...

result:

ok Correct.

Test #20:

score: 4
Accepted
time: 402ms
memory: 23136kb

input:

100
32 236
gDBkQygRmXGf
DzgosmXBRL
DPpicDZAFlF
CULmbsr.etf
nFIxBkPYhE
DLQpMlVoPBr
HLfkkADNASFD
LTWrUNjcIn
Nrj.Ls?aeKOJ
DYw_hgITGW
wsbpKIIMN_o
BoxPjqJ.Ps
SkvDAnf..dvE
RMkisXjf_QSk
wKVFtHFaG_
XzGGA_S!NZ?H
FzpdxTWnb_G
gsYVmejwPcqi
mOoWwJuxhUKD
lyfoCxJNbt
CFPGpsdmsvf
HdrBp?bUWQkH
sJpwIYuYevZ
NbpVpB.foE
...

output:

182
2 3 30 6 81 160 8 95 130 124 224 36 116 179 60 43 134 211 54 186 125 34 74 104 139 20 166 83 215 195 10 11 176 14 107 106 15 17 18 217 121 23 41 45 25 189 101 109 29 32 35 61 146 153 53 208 51 181 167 187 31 40 62 213 65 234 67 228 119 66 229 185 69 201 85 143 113 72 78 87 192 9 88 91 197 19 145...

result:

ok Correct.

Test #21:

score: 4
Accepted
time: 414ms
memory: 22560kb

input:

100
41 251
AKyUZjS!HCog
goCH!SjZUyKI
CKyUZjS!HCog
tKyUZjS!HCog
goCH!SjZUyK_
PKyUZjS!HCog
TKyUZjS!HCog
goCH!SjZUyK!
rKyUZjS!HCog
goCH!SjZUyKX
hKyUZjS!HCog
LKyUZjS!HCog
sKyUZjS!HCog
MKyUZjS!HCog
iKyUZjS!HCog
goCH!SjZUyKS
kKyUZjS!HCog
goCH!SjZUyKQ
GKyUZjS!HCog
EKyUZjS!HCog
RKyUZjS!HCog
eKyUZjS!HCog
qKy...

output:

197
1 219 112 169 197 71 3 11 210 119 152 34 214 158 251 72 93 176 14 189 52 16 18 161 80 135 172 136 121 226 10 203 97 19 64 22 27 28 23 39 229 61 184 149 125 84 123 120 151 224 147 218 49 30 201 110 195 171 90 204 69 31 237 124 63 215 118 205 109 165 38 190 78 87 32 35 40 15 98 164 144 92 247 62 9...

result:

ok Correct.

Test #22:

score: 4
Accepted
time: 408ms
memory: 23056kb

input:

100
47 262
NUgKTQWLqlSu
J_UepZVpZI!
OFybuzA.ts
aJ!oeiupGpt
qEgiXBlraO
G.InLDNYalJ
IKqd?LBbOcS
fGfB.YSKA?
HkgFU.G_FGZ!
QVUDexUYhPt
yVKXraeLEjz
uBNttpsXtQew
_rh_WoubMp
dBmNlhaKQK
rcDEYYtaeF
..wusKVgmxn
jSyLVgt_CkL
GxAwCFvGADS
EszfFlNthk_
EcxJBVUIZw
WrbZ_qvBHIUq
bTgeRogA_oAF
Xr!ELlblATX
zOvG!alEcx
vtrG...

output:

197
1 4 75 147 6 118 126 84 157 7 184 110 148 138 28 173 213 131 12 242 169 177 104 93 201 10 17 250 57 9 249 5 19 62 132 133 14 20 21 209 73 52 26 27 134 215 74 162 90 161 188 29 30 31 107 123 40 185 2 260 11 254 115 16 233 85 33 172 83 163 183 165 64 189 65 34 36 98 125 42 208 80 136 186 120 88 16...

result:

ok Correct.

Test #23:

score: 4
Accepted
time: 331ms
memory: 21964kb

input:

100
44 263
GSwTGPndPrW
fQ_HniYihylp
zeLunnprU.
!Xx?xCWdZaS
yfQrY!laHT
xRHVh.bwwOxY
rZTEYbwQeiW
kdBlS_?iWW
bPVYVCLdjgkw
cheZRqcCFAN
tXFglACkIog
lnqlbAnTByp
wlTUrKRxXAGt
jORjpjqnt.
damueIrdQY
RANWBksGZZdd
CucYTniEj.M
ueLzXFh?TV
RqKArM?pZo
ozu!_Vtkrx
QqbuBOLfGc
sTRTdSKbkZLz
od_yHkJZXmt
efyCIFkzMdP
OMDG...

output:

209
12 13 18 19 164 209 171 143 68 254 1 120 91 28 29 252 30 112 16 256 148 35 104 122 169 31 203 87 33 36 237 135 150 66 38 39 230 146 100 40 224 20 243 241 11 222 132 170 32 42 225 173 15 61 44 45 217 99 136 155 172 22 242 85 46 174 37 186 47 90 53 255 197 54 57 60 62 67 70 71 73 59 190 78 74 75 8...

result:

ok Correct.

Test #24:

score: 4
Accepted
time: 301ms
memory: 22544kb

input:

100
45 248
zJwHpe_rlmeC
zJwHpe_rlmex
Memlr_epHwJz
temlr_epHwJz
oemlr_epHwJz
uemlr_epHwJz
zJwHpe_rlmeR
zJwHpe_rlmee
zJwHpe_rlmeQ
gemlr_epHwJz
demlr_epHwJz
zJwHpe_rlmea
zJwHpe_rlmeB
Yemlr_epHwJz
Eemlr_epHwJz
remlr_epHwJz
zJwHpe_rlmeA
zJwHpe_rlmew
zJwHpe_rlmei
zJwHpe_rlmeU
zJwHpe_rlmeS
Lemlr_epHwJz
Pem...

output:

200
1 99 171 8 235 28 245 203 237 45 119 4 82 151 126 248 229 182 7 11 212 10 167 63 13 222 191 40 207 62 15 53 16 17 9 232 246 20 21 22 26 97 29 110 39 194 43 123 33 44 50 51 52 55 67 14 223 184 149 69 31 210 70 195 59 158 240 27 178 208 81 226 71 73 3 198 72 216 24 68 220 233 23 236 48 75 185 76 1...

result:

ok Correct.

Test #25:

score: 4
Accepted
time: 314ms
memory: 21512kb

input:

100
49 294
XffSYEnSOVF
h.UQkRgrjER
PJOu?WVkaF
QwuvOKStQV
yEw_.VGRFoin
GxnGO.hEZh
fDTLxVKNobB
bYPNHVjs_SG
WgbSzRKxbhH
u.py_GkcRyk
WwDZdqsFLO
ZSJQMjyCVDc
JlaAWop.Lv_
PpZZ!Bqveo
kGGEbPCmDqUB
STUKjUFmfqV
lLJY!jzeCOl_
SBlmMsHDMh
FIkInhGMhe
Oymidks!bYY
rptc!EVznL!
fXXggRKsa!RT
CCeQkacXRA!
.IKFMJTtrLW
EpbE...

output:

230
1 292 39 239 206 59 2 4 3 5 7 272 226 190 271 187 81 9 12 13 15 294 83 146 85 251 37 16 17 30 19 20 234 266 22 24 26 104 205 155 31 198 41 43 137 47 14 48 51 34 52 53 54 270 277 115 28 194 108 189 238 232 237 209 166 57 6 288 258 235 58 152 147 222 161 201 216 127 61 62 255 101 153 196 173 114 6...

result:

ok Correct.

Extra Test:

score: 0
Extra Test Passed