QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#873176#4051. 学术社区liuziao100 ✓765ms61468kbC++236.5kb2025-01-26 10:11:142025-01-26 10:11:14

Judging History

This is the latest submission verdict.

  • [2025-01-26 10:11:14]
  • Judged
  • Verdict: 100
  • Time: 765ms
  • Memory: 61468kb
  • [2025-01-26 10:11:14]
  • Submitted

answer

#include <bits/stdc++.h>

// #define int int64_t

const int kMaxN = 8e5 + 5;

int n, m, t;
int in[kMaxN * 2], out[kMaxN * 2], res[kMaxN], cur[kMaxN * 2];
bool del[kMaxN];
std::tuple<int, int, int> e[kMaxN], _e[kMaxN];
std::vector<int> vec[kMaxN], stk;
std::map<std::string, int> mp;
std::vector<std::pair<int, int>> G[kMaxN * 2];

namespace Dinic {
struct Edge {
  int v, w, id, pre;
} e[kMaxN * 10];

int tot = 1, n, s, t;
int tail[kMaxN * 2], cur[kMaxN * 2], dep[kMaxN * 2];

void init(int _n, int _s, int _t) {
  for (int i = 1; i <= n; ++i) tail[i] = cur[i] = dep[i] = 0;
  for (int i = 1; i <= tot; ++i) e[i] = {0, 0, 0};
  tot = 1, n = _n, s = _s, t = _t;
}
void adde(int u, int v, int w, int id) { e[++tot] = {v, w, id, tail[u]}, tail[u] = tot; }
void add(int u, int v, int w, int id) { adde(u, v, w, id), adde(v, u, 0, id); }

bool bfs() {
  std::queue<int> q;
  for (int i = 1; i <= n; ++i)
    cur[i] = tail[i], dep[i] = 1e9;
  q.emplace(s), dep[s] = 0;
  for (; !q.empty();) {
    int u = q.front(); q.pop();
    for (int i = tail[u]; i; i = e[i].pre) {
      int v = e[i].v, w = e[i].w;
      if (w && dep[v] == 1e9) {
        dep[v] = dep[u] + 1, q.emplace(v);
      }
    }
  }
  return dep[t] != 1e9;
}
int dfs(int u, int lim) {
  if (u == t || !lim) return lim;
  int flow = 0;
  for (int &i = cur[u]; i; i = e[i].pre) {
    int v = e[i].v, w = e[i].w;
    if (w && dep[v] == dep[u] + 1) {
      int fl = dfs(v, std::min(lim, w));
      if (!fl) dep[v] = 1e9;
      lim -= fl, flow += fl;
      e[i].w -= fl, e[i ^ 1].w += fl;
      if (!lim) break;
    }
  }
  return flow;
}
int maxflow() {
  int ans = 0;
  for (; bfs(); ans += dfs(s, 1e9)) {}
  return ans;
}
std::vector<int> getdel() {
  std::vector<int> vec;
  int flow = maxflow();
  for (int i = 1; i <= ::n; ++i) {
    for (int id = tail[i]; id; id = e[id].pre) {
      int j = e[id].v;
      if (j >= ::n + 1 && j <= 2 * ::n && !e[id].w) {
        vec.emplace_back(e[id].id);
      }
    }
  }
  return vec;
}
} // namespace Dinic

void init() {
  t = 0, stk.clear(), mp.clear();
  for (int i = 1; i <= m; ++i) del[i] = 0, vec[i].clear();
  for (int i = 1; i <= 2 * n + 1; ++i) G[i].clear(), cur[i] = in[i] = out[i] = 0;
}

void prework() {
  static std::tuple<int, int, int> tmp[kMaxN];
  std::set<std::tuple<int, int, int, int>> st;
  int _m = 0;
  for (int i = 1; i <= m; ++i) {
    auto [op, u, v] = e[i];
    if (op == 0 || op == 1) {
      auto it = st.lower_bound({op ^ 1, v, u, 0});
      if (it != st.end() && std::get<0>(*it) == (op ^ 1) && std::get<1>(*it) == v && std::get<2>(*it) == u) {
        if (op == 0) {
          tmp[++_m] = {2, u, v};
          vec[_m] = {std::get<3>(*it), i};
        } else {
          tmp[++_m] = {2, v, u};
          vec[_m] = {i, std::get<3>(*it)};
        }
        st.erase(it);
      } else {
        st.emplace(op, u, v, i);
      }
    } else {
      tmp[++_m] = {op, u, u};
      vec[_m] = {i};
    }
  }
  for (auto [op, u, v, i] : st) {
    tmp[++_m] = {op, u, v};
    vec[_m] = {i};
  }
  m = _m;
  for (int i = 1; i <= m; ++i) e[i] = tmp[i];
}

void getdeg(bool o = 0) {
  if (!o) {
    for (int i = 1; i <= 2 * n; ++i) in[i] = out[i] = 0;
  }
  for (int i = 1; i <= m; ++i) {
    if (del[i]) continue;
    auto [op, u, v] = e[i];
    if (op == 0) {
      ++out[u], ++in[v];
      if (o) G[u].emplace_back(v, i);
    } else if (op == 1) {
      ++out[v + n], ++in[u + n];
      if (o) G[v + n].emplace_back(u + n, i);
    } else {
      ++out[u], ++in[v + n];
      if (o) G[u].emplace_back(v + n, i);
    }
  }
}

void dfs(int u) {
  for (int i = cur[u]; i < (int)G[u].size(); i = cur[u]) {
    auto [v, id] = G[u][i];
    cur[u] = i + 1;
    dfs(v);
    stk.emplace_back(id);
  }
}

int getcnt() {
  int cnt = 0;
  for (int i = 1; i <= t; ++i) {
    auto [op, u, v] = _e[res[i]];
    if (op == 0 && i < t && v == std::get<1>(_e[res[i + 1]]) || op == 1 && i > 1 && v == std::get<1>(_e[res[i - 1]]))
      ++cnt;
  }
  return cnt;
}

void dickdreamer() {
  std::cin >> n >> m;
  init();
  for (int i = 1; i <= n; ++i) {
    std::string s;
    std::cin >> s;
    mp[s] = i;
  }
  for (int i = 1; i <= m; ++i) {
    std::string s1, s2, s3;
    std::cin >> s1 >> s2 >> s3;
    if (s3 == "loushang" && mp.count(s2)) {
      e[i] = {0, mp[s1], mp[s2]};
    } else if (s3 == "louxia" && mp.count(s2)) {
      e[i] = {1, mp[s1], mp[s2]};
    } else {
      int id = mp[s1];
      e[i] = {2, id, id};
    }
    _e[i] = e[i];
  }
  for (int i = 1; i <= m; ++i) vec[i] = {i};
  prework();
  // for (int i = 1; i <= m; ++i) {
  //   for (auto x : vec[i]) std::cout << x << ' ';
  //   std::cout << '\n';
  // }
  // std::cout << '\n';
  int S = 2 * n + 1, T = 2 * n + 2;
  Dinic::init(2 * n + 2, S, T);
  getdeg();
  // for (int i = 1; i <= 2 * n; ++i) std::cerr << in[i] << ' ' << out[i] << '\n';
  for (int i = 1; i <= n; ++i)
    if (in[i] > out[i])
      Dinic::add(S, i, in[i] - out[i], 0);
  for (int i = n + 1; i <= 2 * n; ++i)
    if (out[i] > in[i])
      Dinic::add(i, T, out[i] - in[i], 0);
  for (int i = 1; i <= m; ++i) {
    auto [op, u, v] = e[i];
    // std::cout << op << ' ' << u << ' ' << v << '\n';
    if (op == 0) {
      Dinic::add(v, u + n, 1, i);
    } else if (op == 1) {
      Dinic::add(u, v + n, 1, i);
    }
  }
  auto dvec = Dinic::getdel();
  for (int i = 1; i <= 2 * n; ++i) in[i] = out[i] = 0;
  for (auto i : dvec) {
    auto [op, u, v] = e[i];
    G[u].emplace_back(u + n, i), ++out[u], ++in[u + n];
    del[i] = 1;
  }
  getdeg(1);
  for (int i = 1; i <= 2 * n; ++i) {
    // if (i <= n) assert(in[i] <= out[i]);
    // else assert(in[i] >= out[i]);
    if (in[i] <= out[i]) {
      for (; in[i] < out[i];)
        G[2 * n + 1].emplace_back(i, 0), ++out[2 * n + 1], ++in[i];
    } else {
      for (; out[i] < in[i];)
        G[i].emplace_back(2 * n + 1, 0), ++out[i], ++in[2 * n + 1];
    }
  }
  // for (int i = 1; i <= 2 * n + 1; ++i) assert(in[i] == out[i]);
  dfs(2 * n + 1);
  for (auto x : stk) {
    for (auto i : vec[x]) res[++t] = i;
  }
  std::reverse(res + 1, res + 1 + t);
  std::cout << getcnt() << '\n';
  for (int i = 1; i <= t; ++i) std::cout << res[i] << " \n"[i == t];
}

int32_t main() {
#ifdef ORZXKR
  freopen("in.txt", "r", stdin);
  freopen("out.txt", "w", stdout);
#endif
  std::ios::sync_with_stdio(0), std::cin.tie(0), std::cout.tie(0);
  int T = 1;
  std::cin >> T;
  while (T--) dickdreamer();
  // std::cerr << 1.0 * clock() / CLOCKS_PER_SEC << "s\n";
  return 0;
}

詳細信息


Pretests


Final Tests

Test #1:

score: 4
Accepted
time: 1ms
memory: 24296kb

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 8 2 3 9 4 5 6 7 10
7
1 7 4 6 10 3 9 2 5 8
4
1 4 7 5 2 9 3 8 10 6
2
1 3 2 5 4 7 8 6 9 10
9
1 2 7 3 8 4 9 6 5 10

result:

ok Correct.

Test #2:

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

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 10 16 14 2 15 7 6 3 5 13 12 4 9 8 11
12
2 6 7 9 14 5 8 3 15 16 10 11 4 12 1 13
9
1 12 14 13 4 6 7 2 3 8 9 10 5 15 16 11
9
2 11 3 10 12 1 13 4 5 14 16 9 8 7 6 15
7
1 12 3 15 2 10 4 16 8 5 14 7 9 6 11 13
9
1 8 2 3 4 14 9 6 16 7 10 13 12 5 11 15
11
1 8 11 15 6 2 3 13 12 7 10 9 16 14 5 4
9
2 4 6 14...

result:

ok Correct.

Test #3:

score: 4
Accepted
time: 11ms
memory: 22808kb

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
37 123 11 109 7 152 137 70 40 125 4 68 124 51 62 99 81 66 61 91 107 112 48 39 45 19 83 139 116 122 54 25 55 13 150 97 89 26 128 144 58 100 102 114 143 10 28 110 86 71 132 14 135 90 138 96 46 129 72 49 1 85 47 118 95 64 53 2 36 88 141 27 84 79 24 101 44 32 59 153 12 142 94 74 65 52 133 127 6 8 10...

result:

ok Correct.

Test #4:

score: 4
Accepted
time: 10ms
memory: 22684kb

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
90 56 60 150 44 148 80 59 36 41 9 7 125 92 117 154 32 84 103 153 58 134 10 68 15 55 121 49 126 127 123 5 85 62 152 120 124 115 2 96 17 52 4 83 8 139 93 20 136 100 19 66 30 81 24 99 11 73 149 65 137 118 28 1 140 86 165 43 35 94 33 102 133 47 51 14 110 108 146 101 45 34 38 61 79 104 39 26 21 78 72...

result:

ok Correct.

Test #5:

score: 4
Accepted
time: 10ms
memory: 22944kb

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
45 134 13 62 137 125 147 167 1 75 151 22 150 84 114 105 95 5 82 27 103 9 58 163 55 70 99 8 106 108 31 89 100 41 90 152 63 37 126 69 91 88 155 66 123 24 112 142 81 153 111 144 54 109 40 159 7 165 93 56 158 46 127 143 119 17 140 149 61 59 71 6 136 4 33 138 21 96 98 2 110 20 86 101 141 11 174 50 12...

result:

ok Correct.

Test #6:

score: 4
Accepted
time: 11ms
memory: 24992kb

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
145 88 58 64 11 20 1 127 23 40 150 114 22 144 117 52 87 161 57 95 123 60 89 43 56 9 97 44 12 157 125 78 149 162 163 105 116 155 67 112 158 45 42 77 84 55 131 14 37 146 17 80 126 104 154 93 148 59 147 82 135 74 75 51 70 132 61 159 3 137 102 94 129 26 73 120 122 153 143 8 4 35 152 36 15 85 140 39 ...

result:

ok Correct.

Test #7:

score: 4
Accepted
time: 13ms
memory: 22816kb

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
114 42 46 128 65 80 130 102 17 93 51 148 159 54 63 154 21 36 38 20 137 149 45 56 19 55 138 119 101 22 155 5 134 88 32 142 49 145 167 151 162 82 99 77 33 72 120 83 1 58 48 41 24 126 113 139 75 68 116 70 23 108 6 168 156 163 166 76 86 57 153 109 39 3 121 104 84 8 73 62 74 110 31 136 71 98 92 100 1...

result:

ok Correct.

Test #8:

score: 4
Accepted
time: 12ms
memory: 22812kb

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
40 54 28 98 145 17 161 104 106 84 37 129 66 86 125 116 56 92 157 131 5 62 1 34 44 112 49 162 140 147 42 123 39 4 24 156 8 57 19 136 115 59 30 2 85 47 36 111 148 117 166 16 109 91 127 45 23 133 130 12 68 121 122 154 38 31 14 114 35 165 113 6 70 67 73 103 65 126 146 90 118 108 9 101 46 168 160 58 ...

result:

ok Correct.

Test #9:

score: 4
Accepted
time: 11ms
memory: 24856kb

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
1459 805 1370 1966 1730 88 276 1430 1871 2081 914 1982 248 1255 537 843 697 1877 1152 1661 945 327 1905 515 1189 1978 844 298 1450 89 1759 845 268 2145 1642 1553 481 568 1432 446 52 356 1917 469 1799 265 343 251 763 2051 304 1916 1829 259 1352 2069 1307 1614 212 1596 1225 1234 535 632 1045 109 ...

result:

ok Correct.

Test #10:

score: 4
Accepted
time: 12ms
memory: 24856kb

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
138 34 132 45 38 67 55 148 53 33 111 81 85 43 86 145 135 106 68 91 95 109 27 83 103 31 136 124 72 123 102 61 101 118 65 25 9 147 5 129 115 149 71 7 57 26 87 107 92 146 89 121 117 131 32 12 42 59 141 2 142 3 104 75 73 8 48 66 113 62 17 128 84 10 23 125 36 99 41 37 88 54 140 15 20 134 13 50 144 16...

result:

ok Correct.

Test #11:

score: 4
Accepted
time: 11ms
memory: 24868kb

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
92 149 44 136 57 84 156 147 12 38 11 80 67 33 166 17 127 168 10 42 110 74 40 90 115 95 111 54 25 135 171 16 23 121 117 28 96 146 7 3 148 39 181 27 45 106 86 15 151 140 100 157 85 137 82 93 173 83 160 41 2 32 66 122 172 108 50 69 22 150 81 36 65 29 155 134 18 75 4 126 109 176 47 124 175 21 125 16...

result:

ok Correct.

Test #12:

score: 4
Accepted
time: 12ms
memory: 22704kb

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
422 1361 858 1443 104 940 2193 898 221 2074 166 1800 501 273 1862 1693 2167 412 145 1799 1530 1686 1768 612 101 2063 1308 325 1301 1710 276 2083 761 822 2132 1742 1129 1550 1613 1437 1766 1150 1806 540 1834 1774 1813 1890 350 486 1393 441 1770 1170 220 1618 2106 714 1733 1110 2202 1594 2097 634...

result:

ok Correct.

Test #13:

score: 4
Accepted
time: 11ms
memory: 24860kb

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
1543 1689 863 965 1199 1456 964 1980 41 1944 122 907 2169 305 714 45 710 1239 793 103 1711 1421 126 1736 1840 86 835 1228 463 88 1513 1250 1097 1395 2031 70 1567 1356 106 2071 1845 1341 950 555 1248 1102 1815 1907 2030 1458 320 1849 181 369 2089 1735 630 288 439 848 2102 1321 117 1500 473 435 8...

result:

ok Correct.

Test #14:

score: 4
Accepted
time: 263ms
memory: 50904kb

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
213 67 107 151 106 219 89 197 7 128 136 53 126 189 176 196 108 190 2 156 115 165 229 127 159 55 59 101 92 211 227 73 207 5 40 104 57 96 79 58 186 195 41 38 19 93 64 22 132 175 137 15 225 50 56 206 12 10 183 220 201 167 204 148 193 46 138 123 105 177 94 100 66 125 215 103 32 29 82 16 91 223 174 5...

result:

ok Correct.

Test #15:

score: 4
Accepted
time: 270ms
memory: 52700kb

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
99 11 230 244 122 202 154 153 174 228 216 12 257 73 75 26 213 227 8 36 134 222 219 1 38 195 205 10 132 129 249 188 39 15 160 95 105 42 121 144 192 233 22 143 74 155 126 187 66 255 226 55 111 190 18 146 119 167 125 4 142 199 50 201 35 178 60 239 180 161 2 194 214 91 85 173 152 189 128 52 13 101 2...

result:

ok Correct.

Test #16:

score: 4
Accepted
time: 267ms
memory: 59200kb

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
13 210 78 1 134 93 212 127 192 53 159 107 118 190 54 128 156 84 60 38 69 152 7 199 51 116 161 193 215 106 99 231 110 178 171 158 141 133 18 40 138 179 153 79 227 218 49 11 229 104 77 208 220 170 108 130 191 82 211 194 29 173 59 9 180 169 39 230 113 61 166 15 70 102 137 58 20 225 80 4 66 103 37 8...

result:

ok Correct.

Test #17:

score: 4
Accepted
time: 286ms
memory: 53836kb

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
63 42 19 12 210 37 23 142 193 203 72 113 147 172 202 177 221 10 166 125 83 38 144 130 160 226 6 214 84 212 180 108 46 31 51 199 111 206 102 183 89 167 25 81 143 175 45 95 100 168 127 91 3 205 109 157 32 197 209 66 110 40 17 101 90 30 64 141 155 80 186 128 5 134 169 36 194 60 178 121 61 71 122 98...

result:

ok Correct.

Test #18:

score: 4
Accepted
time: 282ms
memory: 56004kb

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
101 222 112 240 202 17 50 56 28 177 254 179 224 77 132 130 59 165 170 11 124 174 172 73 92 117 21 129 39 26 67 37 233 228 154 161 215 54 143 190 7 30 216 44 227 156 87 15 251 144 167 25 94 205 10 183 220 18 239 97 191 128 125 223 108 166 42 53 86 13 209 40 100 249 185 85 90 95 234 149 176 213 24...

result:

ok Correct.

Test #19:

score: 4
Accepted
time: 289ms
memory: 48968kb

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
111 218 38 123 36 28 67 51 119 79 14 116 29 197 167 72 194 155 112 43 172 201 221 204 137 90 88 82 142 61 50 126 122 17 217 49 77 75 53 78 164 85 25 150 207 99 37 93 165 94 118 161 210 15 191 120 70 188 96 145 40 68 171 160 157 39 32 33 187 128 97 114 219 91 83 57 214 203 71 146 169 4 1 8 89 41 ...

result:

ok Correct.

Test #20:

score: 4
Accepted
time: 719ms
memory: 58732kb

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
3 30 220 126 212 1 143 138 107 106 173 31 199 89 85 14 207 12 27 113 111 114 42 99 209 47 9 129 219 97 221 137 140 234 67 82 187 98 150 96 231 161 160 88 76 227 100 121 87 25 189 101 109 149 201 216 169 84 141 193 148 32 177 16 213 168 48 164 218 63 183 91 155 40 133 110 21 214 7 64 33 52 26 236...

result:

ok Correct.

Test #21:

score: 4
Accepted
time: 717ms
memory: 52556kb

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
145 119 182 176 95 65 41 251 194 13 238 241 114 18 225 116 224 242 131 234 204 7 196 61 49 169 197 230 71 29 8 170 66 58 93 69 57 151 132 246 141 180 105 113 136 108 59 179 55 77 175 70 186 73 72 6 87 85 104 38 184 56 163 78 24 249 222 156 128 25 149 101 26 221 187 76 235 219 178 129 2 130 154 1...

result:

ok Correct.

Test #22:

score: 4
Accepted
time: 765ms
memory: 61468kb

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
221 128 41 51 37 111 76 22 8 119 234 35 190 105 139 58 121 149 103 181 13 239 218 247 92 137 232 86 170 61 192 171 23 96 236 189 212 167 77 114 198 56 45 34 43 150 5 166 118 126 32 231 246 55 84 214 228 112 238 83 82 79 163 183 165 54 67 176 42 71 227 196 99 44 64 124 50 248 174 101 260 108 122 ...

result:

ok Correct.

Test #23:

score: 4
Accepted
time: 565ms
memory: 49612kb

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
33 93 113 56 41 85 109 263 7 213 188 234 64 69 98 128 12 177 44 66 229 91 31 203 87 40 149 65 165 224 75 110 137 83 3 250 191 201 133 245 103 171 118 63 226 175 160 79 102 261 111 212 214 73 59 219 117 96 131 17 36 218 13 135 150 105 88 23 108 192 157 199 4 237 215 166 240 242 47 90 178 186 184 ...

result:

ok Correct.

Test #24:

score: 4
Accepted
time: 577ms
memory: 56872kb

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
91 165 211 231 105 135 24 56 233 95 104 23 19 181 225 6 204 205 176 153 217 38 209 55 77 5 236 48 63 227 65 37 46 124 107 198 72 216 76 140 160 75 69 31 210 29 110 161 43 123 33 240 27 22 12 219 88 49 120 180 13 127 34 132 85 156 93 178 245 203 237 121 32 169 201 155 133 125 173 64 116 68 220 19...

result:

ok Correct.

Test #25:

score: 4
Accepted
time: 577ms
memory: 51420kb

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
5 12 146 37 79 63 112 174 187 213 155 43 137 287 188 106 283 45 25 262 88 85 251 224 211 282 241 55 86 95 138 31 198 81 123 220 84 124 10 232 82 134 72 105 50 281 98 250 119 273 64 39 291 207 178 143 223 76 242 19 163 46 49 102 269 111 271 243 204 35 89 197 246 195 274 286 252 270 61 94 173 83 1...

result:

ok Correct.

Extra Test:

score: 0
Extra Test Passed