QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#273472 | #7882. Linguistics Puzzle | ucup-team112# | AC ✓ | 112ms | 3764kb | C++20 | 12.6kb | 2023-12-03 00:10:15 | 2023-12-03 00:10:16 |
Judging History
answer
// #pragma GCC target("avx2")
// #pragma GCC optimize("O3")
// #pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
using namespace std;
namespace templates {
// type
using ll = long long;
using ull = unsigned long long;
template <class T>
using pq = priority_queue<T>;
template <class T>
using qp = priority_queue<T, vector<T>, greater<T>>;
#define vec(T, A, ...) vector<T> A(__VA_ARGS__);
#define vvec(T, A, h, ...) vector<vector<T>> A(h, vector<T>(__VA_ARGS__));
#define vvvec(T, A, h1, h2, ...) vector<vector<vector<T>>> A(h1, vector<vector<T>>(h2, vector<T>(__VA_ARGS__)));
// for loop
#define fori1(a) for (ll _ = 0; _ < (a); _++)
#define fori2(i, a) for (ll i = 0; i < (a); i++)
#define fori3(i, a, b) for (ll i = (a); i < (b); i++)
#define fori4(i, a, b, c) for (ll i = (a); ((c) > 0 || i > (b)) && ((c) < 0 || i < (b)); i += (c))
#define overload4(a, b, c, d, e, ...) e
#define fori(...) overload4(__VA_ARGS__, fori4, fori3, fori2, fori1)(__VA_ARGS__)
// declare and input
// clang-format off
#define INT(...) int __VA_ARGS__; inp(__VA_ARGS__);
#define LL(...) ll __VA_ARGS__; inp(__VA_ARGS__);
#define STRING(...) string __VA_ARGS__; inp(__VA_ARGS__);
#define CHAR(...) char __VA_ARGS__; inp(__VA_ARGS__);
#define DOUBLE(...) double __VA_ARGS__; STRING(str___); __VA_ARGS__ = stod(str___);
#define VEC(T, A, n) vector<T> A(n); inp(A);
#define VVEC(T, A, n, m) vector<vector<T>> A(n, vector<T>(m)); inp(A);
// clang-format on
// const value
const ll MOD1 = 1000000007;
const ll MOD9 = 998244353;
const double PI = acos(-1);
// other macro
#ifndef RIN__LOCAL
#define endl "\n"
#endif
#define spa ' '
#define len(A) ll(A.size())
#define all(A) begin(A), end(A)
// function
vector<char> stoc(string &S) {
int n = S.size();
vector<char> ret(n);
for (int i = 0; i < n; i++) ret[i] = S[i];
return ret;
}
string ctos(vector<char> &S) {
int n = S.size();
string ret = "";
for (int i = 0; i < n; i++) ret += S[i];
return ret;
}
template <class T>
auto min(const T &a) {
return *min_element(all(a));
}
template <class T>
auto max(const T &a) {
return *max_element(all(a));
}
template <class T, class S>
auto clamp(T &a, const S &l, const S &r) {
return (a > r ? r : a < l ? l : a);
}
template <class T, class S>
inline bool chmax(T &a, const S &b) {
return (a < b ? a = b, 1 : 0);
}
template <class T, class S>
inline bool chmin(T &a, const S &b) {
return (a > b ? a = b, 1 : 0);
}
template <class T, class S>
inline bool chclamp(T &a, const S &l, const S &r) {
auto b = clamp(a, l, r);
return (a != b ? a = b, 1 : 0);
}
template <typename T>
T sum(vector<T> &A) {
T tot = 0;
for (auto a : A) tot += a;
return tot;
}
template <typename T>
vector<T> compression(vector<T> X) {
sort(all(X));
X.erase(unique(all(X)), X.end());
return X;
}
// input and output
namespace io {
// vector<T>
template <typename T>
istream &operator>>(istream &is, vector<T> &A) {
for (auto &a : A) is >> a;
return is;
}
template <typename T>
ostream &operator<<(ostream &os, vector<T> &A) {
for (size_t i = 0; i < A.size(); i++) {
os << A[i];
if (i != A.size() - 1) os << ' ';
}
return os;
}
// vector<vector<T>>
template <typename T>
istream &operator>>(istream &is, vector<vector<T>> &A) {
for (auto &a : A) is >> a;
return is;
}
template <typename T>
ostream &operator<<(ostream &os, vector<vector<T>> &A) {
for (size_t i = 0; i < A.size(); i++) {
os << A[i];
if (i != A.size() - 1) os << endl;
}
return os;
}
// pair<S, T>
template <typename S, typename T>
istream &operator>>(istream &is, pair<S, T> &A) {
is >> A.first >> A.second;
return is;
}
template <typename S, typename T>
ostream &operator<<(ostream &os, pair<S, T> &A) {
os << A.first << ' ' << A.second;
return os;
}
// vector<pair<S, T>>
template <typename S, typename T>
istream &operator>>(istream &is, vector<pair<S, T>> &A) {
for (size_t i = 0; i < A.size(); i++) {
is >> A[i];
}
return is;
}
template <typename S, typename T>
ostream &operator<<(ostream &os, vector<pair<S, T>> &A) {
for (size_t i = 0; i < A.size(); i++) {
os << A[i];
if (i != A.size() - 1) os << endl;
}
return os;
}
// tuple
template <typename T, size_t N>
struct TuplePrint {
static ostream &print(ostream &os, const T &t) {
TuplePrint<T, N - 1>::print(os, t);
os << ' ' << get<N - 1>(t);
return os;
}
};
template <typename T>
struct TuplePrint<T, 1> {
static ostream &print(ostream &os, const T &t) {
os << get<0>(t);
return os;
}
};
template <typename... Args>
ostream &operator<<(ostream &os, const tuple<Args...> &t) {
TuplePrint<decltype(t), sizeof...(Args)>::print(os, t);
return os;
}
// io functions
void FLUSH() {
cout << flush;
}
void print() {
cout << endl;
}
template <class Head, class... Tail>
void print(Head &&head, Tail &&...tail) {
cout << head;
if (sizeof...(Tail)) cout << spa;
print(std::forward<Tail>(tail)...);
}
template <typename T, typename S>
void prisep(vector<T> &A, S sep) {
int n = A.size();
for (int i = 0; i < n; i++) {
cout << A[i];
if (i != n - 1) cout << sep;
}
cout << endl;
}
template <typename T, typename S>
void priend(T A, S end) {
cout << A << end;
}
template <typename T>
void prispa(T A) {
priend(A, spa);
}
template <typename T, typename S>
bool printif(bool f, T A, S B) {
if (f)
print(A);
else
print(B);
return f;
}
template <class... T>
void inp(T &...a) {
(cin >> ... >> a);
}
} // namespace io
using namespace io;
// read graph
vector<vector<int>> read_edges(int n, int m, bool direct = false, int indexed = 1) {
vector<vector<int>> edges(n, vector<int>());
for (int i = 0; i < m; i++) {
INT(u, v);
u -= indexed;
v -= indexed;
edges[u].push_back(v);
if (!direct) edges[v].push_back(u);
}
return edges;
}
vector<vector<int>> read_tree(int n, int indexed = 1) {
return read_edges(n, n - 1, false, indexed);
}
template <typename T = long long>
vector<vector<pair<int, T>>> read_wedges(int n, int m, bool direct = false, int indexed = 1) {
vector<vector<pair<int, T>>> edges(n, vector<pair<int, T>>());
for (int i = 0; i < m; i++) {
INT(u, v);
T w;
inp(w);
u -= indexed;
v -= indexed;
edges[u].push_back({v, w});
if (!direct) edges[v].push_back({u, w});
}
return edges;
}
template <typename T = long long>
vector<vector<pair<int, T>>> read_wtree(int n, int indexed = 1) {
return read_wedges<T>(n, n - 1, false, indexed);
}
// yes / no
namespace yesno {
// yes
inline bool yes(bool f = true) {
cout << (f ? "yes" : "no") << endl;
return f;
}
inline bool Yes(bool f = true) {
cout << (f ? "Yes" : "No") << endl;
return f;
}
inline bool YES(bool f = true) {
cout << (f ? "YES" : "NO") << endl;
return f;
}
// no
inline bool no(bool f = true) {
cout << (!f ? "yes" : "no") << endl;
return f;
}
inline bool No(bool f = true) {
cout << (!f ? "Yes" : "No") << endl;
return f;
}
inline bool NO(bool f = true) {
cout << (!f ? "YES" : "NO") << endl;
return f;
}
// possible
inline bool possible(bool f = true) {
cout << (f ? "possible" : "impossible") << endl;
return f;
}
inline bool Possible(bool f = true) {
cout << (f ? "Possible" : "Impossible") << endl;
return f;
}
inline bool POSSIBLE(bool f = true) {
cout << (f ? "POSSIBLE" : "IMPOSSIBLE") << endl;
return f;
}
// impossible
inline bool impossible(bool f = true) {
cout << (!f ? "possible" : "impossible") << endl;
return f;
}
inline bool Impossible(bool f = true) {
cout << (!f ? "Possible" : "Impossible") << endl;
return f;
}
inline bool IMPOSSIBLE(bool f = true) {
cout << (!f ? "POSSIBLE" : "IMPOSSIBLE") << endl;
return f;
}
// Alice Bob
inline bool Alice(bool f = true) {
cout << (f ? "Alice" : "Bob") << endl;
return f;
}
inline bool Bob(bool f = true) {
cout << (f ? "Bob" : "Alice") << endl;
return f;
}
// Takahashi Aoki
inline bool Takahashi(bool f = true) {
cout << (f ? "Takahashi" : "Aoki") << endl;
return f;
}
inline bool Aoki(bool f = true) {
cout << (f ? "Aoki" : "Takahashi") << endl;
return f;
}
} // namespace yesno
using namespace yesno;
} // namespace templates
using namespace templates;
void solve() {
INT(n);
VEC(string, S, n * n);
vvec(int, cnt, 2, n);
fori(i, n) {
fori(j, n) {
int p = i * j;
if (p >= n) {
cnt[1][p / n]++;
}
cnt[0][p % n]++;
}
}
map<char, int> f;
map<int, char> g;
for (auto s : S) {
if (!f.count(s[0])) {
f[s[0]] = len(f);
g[len(g)] = s[0];
}
}
vvec(int, cnt2, 2, n);
for (auto s : S) {
if (len(s) == 2) {
cnt2[0][f[s[1]]]++;
cnt2[1][f[s[0]]]++;
} else {
cnt2[0][f[s[0]]]++;
}
}
vec(bool, ato, n, false);
vec(int, atoind, 0);
fori(i, n) {
fori(j, n) {
if (i == j) continue;
if (cnt[0][i] == cnt[0][j] && cnt[1][i] == cnt[1][j]) {
ato[i] = true;
atoind.push_back(i);
break;
}
}
}
vec(bool, used, n, false);
vec(char, ans, n);
vector<char> rest;
fori(i, n) {
fori(j, n) {
if (used[j]) continue;
if (cnt[0][i] == cnt2[0][j] && cnt[1][i] == cnt2[1][j]) {
used[j] = true;
if (ato[i]) {
rest.push_back(g[j]);
}
// priend(g[j], "");
ans[i] = g[j];
break;
}
}
}
auto ok = [&](vector<char> &ans) {
// fori(i, n) {
// if (cnt[0][i] != cnt2[0][f[ans[i]]] || cnt[1][i] != cnt2[1][f[ans[i]]]) return false;
// }
vector<int> A, B;
fori(i, n) fori(j, n) A.push_back(i * j);
map<char, int> f;
fori(i, n) f[ans[i]] = i;
for (auto s : S) {
if (len(s) == 2) {
B.push_back(f[s[0]] * n + f[s[1]]);
} else {
B.push_back(f[s[0]]);
}
}
sort(all(A));
sort(all(B));
return A == B;
};
if (n != 49) {
vector<pair<int, int>> sw;
fori(i, n) fori(j, i + 1, n) {
if (cnt[0][i] == cnt[0][j] && cnt[1][i] == cnt[1][j]) {
sw.push_back({i, j});
}
}
fori(bit, 1 << 5) {
auto tmp = ans;
fori(i, 5) {
if ((bit >> i) & 1) {
swap(tmp[sw[i].first], tmp[sw[i].second]);
}
}
if (ok(tmp)) {
print(ctos(tmp));
return;
}
}
assert(false);
} else {
fori(2) {
vector<int> A = {25, 25, 26, 26, 27, 27};
vector<int> B = {26, 27, 25, 27, 25, 26};
fori(k, 6) {
ll a = A[k], b = B[k];
ll c = 25 + 26 + 27 - a - b;
auto tmp = ans;
tmp[a] = ans[25];
tmp[b] = ans[26];
tmp[c] = ans[27];
if (ok(tmp)) {
print(ctos(tmp));
return;
}
}
swap(ans[29], ans[31]);
}
}
sort(all(rest));
do {
fori(i, len(atoind)) {
ans[atoind[i]] = rest[i];
}
if (ok(ans)) {
print(ctos(ans));
return;
}
} while (next_permutation(all(rest)));
// print(cnt2[0][f['g']], cnt2[1][f['g']]);
// print(cnt2[0][f['d']], cnt2[1][f['d']]);
// fori(i, n) fori(j, i + 1, n) {
// if (cnt[0][i] == cnt[0][j] && cnt[1][i] == cnt[1][j]) {
// cerr << n << endl;
// // print(i, j, g[i], g[j]);
// break;
// }
// }
}
int main() {
cin.tie(0)->sync_with_stdio(0);
// cout << fixed << setprecision(12);
int t;
t = 1;
cin >> t;
while (t--) solve();
return 0;
}
这程序好像有点Bug,我给组数据试试?
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3460kb
input:
2 3 a b a b b b b c cc 4 d d d d d c b a d b cd cb d a cb bc
output:
bca dcba
result:
ok OK
Test #2:
score: 0
Accepted
time: 1ms
memory: 3472kb
input:
2 4 d a a bc ba bc b a a a d a a cb c c 4 a b da b b d ad b db b a c da b c b
output:
abcd bdac
result:
ok OK
Test #3:
score: 0
Accepted
time: 17ms
memory: 3684kb
input:
50 3 b b b a a c b b cc 4 d ab c ad d b ba ab c b d d d d d a 5 a aa aa ab ab ae b b e c c c ba c c c c dd d d dd c e c e 6 a ca a a a a a a ce a a b ba ba bc bc bd be e c c ca a cd cd be d d dc dc e e a eb f f 7 a a a a a a a a cf a a a a b b b b c c c cf a dd d dc d dd e f ed ee ee fb eg eg eg eg ...
output:
bca dabc cadbe abcdef aefdcgb fcheabgd bhgfedcia jhcgfideba fjbadkegcih klhgjbaedcif igkjmclfedhba nflijahgmbdcek anmlfijbgkhdceo nofmlkjchdbegipa aponblgjihcfqdkme iqmonhckfrpgjedlba prisodmbkjqghfencla tcrdpoaklmjihfgeqsbn utiraponmlksghjfecdbq qotsrvjunmlkpiegfhdcba pvutsrhwoimlkjnqgfedbca xbvuts...
result:
ok OK
Test #4:
score: 0
Accepted
time: 11ms
memory: 3712kb
input:
50 3 a a b c c c c bb c 4 a c ab b c ba ba c c a bc c c c d d 5 a a a b b b b b b c b d c b cc cc b d de e ea ed ed ee ee 6 a a ac ac b b b be ef c ca cb ea f cf d d e ca eb eb ec f ef c f f f f f f f f f cf ec 7 ag a a a ag b bb bb bd bd bf bf bf e bg c c c c c c c c c c c e c ga d da dd dd bf e e ...
output:
cba cbad becda fecabd cbgdafe abgfechd abhgeicdf ahfdgcebij bagedfcihjk abcdhkgifjle fkgdeachblijm alcdbfgjihkmen jfobedghiaklmcn ahgdemcnijklfbop aecdjlbhiqkfmnopg aecdbfjhkimlgnopqr afcdqbghriklmnopejs dbcaefghijktmnosqrpl qbisefgpcjklmnohdratu pdcbeaghijmlknofqrstuv aoedqfghijkclnbpmrstuvw atcdef...
result:
ok OK
Test #5:
score: 0
Accepted
time: 19ms
memory: 3764kb
input:
50 3 a c a a bb b c a a 4 dc c a b b c ad c c c c c d da da a 5 a d a a a e a a ce a b bb bb c cc cc cd cd a d a e b e dc 6 d ab a ab b b ba ba bd bd bf c c d d a d d d eb d d d d e ea eb d ed ed ef ef f f f fe 7 a a a a ea f bb bb bg g cb cb cc cc f cd cd cd ce d d dc e e b ea ec ec ee eg eg f f f ...
output:
abc cdab acbde debafc fcebgda gafedbhc ihbfedagc haiebjcfdg chkefdigbaj echkagbilfjd ajcmhgbidklfe ibmckfgaehndjl ogfhbicekndljma ngmdkpiblcfeajho qlgbcipjkdehnfmao qadoilgcepfbnjkhrm kdiceagnlrjhbosfqmp iakrbqdgmescjpnlhotf nhedbluojtakqpgscrimf esflhqkbnoamrduivgcptj wmjqcgauvlhofdnpbsrteki unsbtm...
result:
ok OK
Test #6:
score: 0
Accepted
time: 15ms
memory: 3696kb
input:
50 3 b a a c c c bb c c 4 a cb b d bc c cd a cb d d b d d d d 5 a a a b b dd c c cc d cc e db e da bd e db e e e e dd e e 6 a a b b f ed c c b cd d d db f dc df df e eb eb f be ed ef ef f f cd f ec f f f dc f f 7 fb a a a b b bf c c c ce ce d d g dd dd e e g ea ec ef ee ef ec f fb g fb fb fd fd fe f...
output:
cba dcba edcba fedcba gfedcba hgfedcba ihgfedcba jihgfedcba kjihgfedcba lkjihgfedcba mlkjihgfedcba nmlkjihgfedcba onmlkjihgfedcba ponmlkjihgfedcba qponmlkjihgfedcba rqponmlkjihgfedcba srqponmlkjihgfedcba tsrqponmlkjihgfedcba utsrqponmlkjihgfedcba vutsrqponmlkjihgfedcba wvutsrqponmlkjihgfedcba xwvuts...
result:
ok OK
Test #7:
score: 0
Accepted
time: 7ms
memory: 3748kb
input:
50 3 a bb b a a c a c a 4 a b a a a a a a ba bc c cb c bc d d 5 a a a a bd a a a a b bb e a bd be c c cc db d e cc e bb d 6 a a a a a a e a ba d e b ba a bc bc bd be be c c ca ca cd cd ce d a dc dc e a a eb f f 7 a cg a a cb a a a a a c a a b bb bb bc bd bd bf bf bf bf a c cb a cc ce ce cg a d e ec ...
output:
abc abcd abcde abcdef abcdefg abcdefgh abcdefghi abcdefghij abcdefghijk abcdefghijkl abcdefghijklm abcdefghijklmn abcdefghijklmno abcdefghijklmnop abcdefghijklmnopq abcdefghijklmnopqr abcdefghijklmnopqrs abcdefghijklmnopqrst abcdefghijklmnopqrstu abcdefghijklmnopqrstuv abcdefghijklmnopqrstuvw abcdef...
result:
ok OK
Test #8:
score: 0
Accepted
time: 26ms
memory: 3748kb
input:
50 3 a c a a b bb a a c 4 b c b ab b b ad a c b d d b b da ad 5 c c c c dd c bb ed b e c c da a d a c e b de a bb dd c de 6 d a a c bf da a a a dc e a a a fd da c f fa a fc d fb b db e cd cd b a b fa a fd dc fb 7 fd f e g ff e g e e fc e bf e fb fd c e c g bg d ff e g a e bf df ba ab ab fd bg e ba f...
output:
abc badc cdbea afdcbe efbcadg agdbhfec bdifahcge jfbgdeachi ajhbgfeickd fkjehgbidcal clijmhgfbdeka nibkjghafcdelm bnlokjihgaedcmf pfcmlboihkjednga eponjlbgihdfqmcka rijqnmlkgohpfecdba sdgponmlkqihjefrcba tsgiponflqakhrmedcbj ltsiqpobmunjghrfedcka vdtfrqponmsjkibgleucha avutsrnpoqmldjihgfwkcbe xwvstu...
result:
ok OK
Test #9:
score: 0
Accepted
time: 17ms
memory: 3712kb
input:
50 3 a c c c b bb c c a 4 dc a cd d da c a a b a a a a dc c b 5 be b d cc a a d bb e a be d d cc eb e c ba d d d d d bb c 6 e ad ef db b c ad db b d da c b fe f fe a b fb b b da fb b a b e fd fd d b b de b fa e 7 dd f bb de a bd c aa bb c e c f f f f ba f f aa ae f dc f db dc bg f ba g bg c g gb ed ...
output:
cba adcb dbcea bfdaec fbdaegc eabdfcgh abhfcegdi jfcdbaehig abcedfhigjk khcfadgibjel jdclefghibkam lgcdejbhifknma abcdehfligkjnmo ikognfdhajblmecp amoiefghdjblkpcnq kbcdehgqioalmnjpfr ancfesrhijklmgopqbd amgdfcheijklbnopqrst fbcdeoghrjkainlpqmstu dbcoefhaijklmgnpqrstuv nbcdefghiwkljaosqmptuvr abcsuf...
result:
ok OK
Test #10:
score: 0
Accepted
time: 25ms
memory: 3668kb
input:
50 3 b cc a b b b a c b 4 ab c ba d a c c ba a d c c c c b bc 5 cc d bd c a a a be e b a a e a a a bb a db cc bd e d bb c 6 ed af af d be a ea fa fd c a b fa b e eb fb eb ef c d d b fd d f ef d f d d ed d d d d 7 c aa d ee g d g aa a ff f d be d d d e ac d d ea eb ea be d f af d eg g d b eb fb c ff ...
output:
bca cbad abcde defabc daefbcg dhebagfc bahifcdeg bceagfdihj gbhfkcdeiaj jialecgbfdkh idjcgfkaemhbl ngbecmjafkhdil bcoeaidjnkfglhm emnodgaihcfpjklb bqcgofjinlaekphdm kgceolrnhqipbafdjm eflgbscoqpndmkajhir bgmfthncdekqjrapiosl sdhtprilkobacqjnmgeuf bjqtdlfurspvcaehoingkm lderwoqsjpnhvfmcbuikgat noukih...
result:
ok OK
Test #11:
score: 0
Accepted
time: 21ms
memory: 3640kb
input:
50 3 c c c bb a a c c b 4 b d cb cb b a bc d d cd d c a d d d 5 c b e e bd da e d cc dd a e e db e db b e a a dd c e e cc 6 eb df f f eb d be f f c d a f df cd c dc b ef dc f f e ec f ef b cd ed db f f ed a b f 7 g fb ea b ec fe g f c bf c g dc dd b e g fb d ec ef ee ce ff c a fd g ef dd e g d g fb ...
output:
cba dcba edcba fedcba gfedcba hgfedcba ihgfedcba jihgfedcba kjihgfedcba lkjihgfedcba mlkjihgfedcba nmlkjihgfedcba onmlkjihgfedcba ponmlkjihgfedcba qponmlkjihgfedcba rqponmlkjihgfedcba srqponmlkjihgfedcba tsrqponmlkjihgfedcba utsrqponmlkjihgfedcba vutsrqponmlkjihgfedcba wvutsrqponmlkjihgfedcba xwvuts...
result:
ok OK
Test #12:
score: 0
Accepted
time: 26ms
memory: 3612kb
input:
50 3 a a c c a b a a bb 4 b a c a a ba c a a a cb d d bc bc a 5 a db c e d e a d a a bd bb a e a b c bd be cc a bb a cc a 6 d ca a c d a c bc e f be ca ba a a ba b a eb cd bd a ce dc bc dc cd f a e a a a e be a 7 cb fb g ec cg a bf bd e d a cb a g a e dd f a c a cg bf bd bf g bf c d f a a e bc a ce ...
output:
abc abcd abcde abcdef abcdefg abcdefgh abcdefghi abcdefghij abcdefghijk abcdefghijkl abcdefghijklm abcdefghijklmn abcdefghijklmno abcdefghijklmnop abcdefghijklmnopq abcdefghijklmnopqr abcdefghijklmnopqrs abcdefghijklmnopqrst abcdefghijklmnopqrstu abcdefghijklmnopqrstuv abcdefghijklmnopqrstuvw abcdef...
result:
ok OK
Test #13:
score: 0
Accepted
time: 0ms
memory: 3464kb
input:
50 2 a b a a 2 a a a b 2 a a a b 2 b b b a 2 b a a a 2 b b b a 2 a b a a 2 a b a a 2 a a a b 2 a b b b 2 b b b a 2 b a a a 2 a b a a 2 a a b a 2 b a b b 2 a a b a 2 a a a b 2 b b a b 2 b b b a 2 a a b a 2 a b a a 2 a a a b 2 b b b a 2 a a a b 2 a b a a 2 a a a b 2 b a b b 2 a b b b 2 a a a b 2 a a a...
output:
ab ab ab ba ab ba ab ab ab ba ba ab ab ab ba ab ab ba ba ab ab ab ba ab ab ab ba ba ab ab ba ab ab ba ba ba ab ba ba ba ab ab ab ab ab ab ab ba ba ba
result:
ok OK
Test #14:
score: 0
Accepted
time: 46ms
memory: 3660kb
input:
50 52 uj Tp xo WR CE Ht q Wt RM sS mq Io ln TK eZ jH o mC hV ha hi a JH in hQ j Fg ar Wf Fp JH KR k xo gE qn az V Rs Pw nu un qv hH jH Da YK es XI b ec FN yg Z Tr Bw Ob gt pD k eo Xv lc no ln hz RW RF BZ rF yu k CI zu qJ Yz ex aI eU bn HW ej eo jP I jp xr ue yR V Tu zo Mv eh gz Xz mv FI hz mV ah Dh ...
output:
kehTRmxJHXqyrljaWYOSwigsnUzDuZbPtdCBIMcFpLNfvEGKoAVQ RjxrlcZngyWomHJtIOBYTUPViCvuGpXkQSdALDwzbfNaqFMhEseK FUcwvoLARpnGBQCDWdagNjyuthlYXefPJirZMSsbqHmIkTxzKOEV OujFdfKkElwsJLVmMYSZpXIeHDRyhACBvzroGcbtnagPNxUTWiQq wYtmrEDWGqIyVLNiHxzeTcgFkdQpBXnPZjKvARsJOoUbaSulfMhC SwZAyhRNJgMFOnWoDpbLTEXlBackuqjetIs...
result:
ok OK
Test #15:
score: 0
Accepted
time: 34ms
memory: 3664kb
input:
50 52 A A A AF AF AF AF AJ AJ AK AK AK AK AN AN AU AU AX AX AZ AZ Ab Ab Ab Ab Ah Ah Ah Ah Ar Ar As As At At Av Av Aw Aw B B BC BC BE BE BF BF BI BI BK BK BK BK BL BL BL BL BM BM BM BM BM BM BN BN BP BP BR BR BR BR BT BT BV BV BV BV BZ Bb Bb Bc Bc Bf Bf Bh Bh Bh Bh Bh Bh Bh Bh Bh Bh Bn Bn Bn Bn Bn Bn...
output:
ZYXWVUTSRQPONBLzJIHGFEDwMAKyxCvutsrqponmleaihgfkdcbj ZsXWVUTGRQPONMwKLIHSFEDCBAzyxJvutmrqponYlkjihgfedcba ZYXWVUTSRQlONMLKJIHGFBuwEAzyxCvDtsrqponmPkhijgfedcba ZYXWVUTSRQmONwLKJIHGFEDxBAzyCMvrtsuqdonPlkjihgfepcba ZcXWVUTSRkPONJLKMIHGFEDCBAzylwautsrqponmxQjihgfedYbv ZYXgVUTSwQPONMLKJIHGFyDCBezExRkutsr...
result:
ok OK
Test #16:
score: 0
Accepted
time: 26ms
memory: 3624kb
input:
50 52 A A A A AC AC AI AI AO AO AP AP AQ AQ AR AR Ab Ab Ai Ai Aj Aj Am Am An An Ao Ao Ao Ao Aq Aq Ar Au Au Az Az B B B B BF BF BK BK BK BK BK BK BN BN BO BU BU Ba Ba Bc Bc Be Be Bg Bg Bj Bj Bj Bj Bo Bo Bp Bp Br Br Bw Bw C C C C C C CA CA CD CD CG CG CO CO CS CS CW CW CW CW CX CX Cb Cb Cg Cg Cj Cj Co...
output:
abcdefghiylPmnWpqrstuvwxjzABCDEFGHIJKLTNOkQRSMUVoXYZ abcdefghUjklmnopNrstSZwxyzuBCDEFGHIJKLMqOPQRATiVWXYv cbadefghijklmnorqpstuUwMyzABCDEFGHIJKLxNPOQRSTvVWXYZ abcdefghiSklmnopqrstuLwxTzABCDUFGHIJKyMNOPQRjvEVWXYZ abcdefghijklmntpqrsvuowxyFAWCDEJGHIzKLMNOPQRSTUVBXYZ absiefghdAklmnopqrctuvwxyzjBCDEFGYI...
result:
ok OK
Test #17:
score: 0
Accepted
time: 64ms
memory: 3672kb
input:
50 51 kt Dt kq nP Ec X Bh V FT LL qS bN Rx x Av mT mw ax wS h A bt vV GJ ni Hw vK bV d v mL bL ub gy mx h In AE TG cK Fj jj zk Xd yo mB LX FA br UI Fa Li bH Ad Q Jt K Cq A pH Gz NX ak Gh bT be Rf U Ga vK Ha Kh Fu TT vd yT KY GG S qe P KD CF FF jz Bf nK Rh vA ca jA Kj Hp tw w Al o RW Wf KU fm Mr Jt m...
output:
hGbHvRAImjLFKnCByWDJgqEMTcOaUkdzwPVoelNtXsxrYfQpuSi FEfhbGwLQrljpSBzKoeTNJavguDycOCWtRPqidYxmAHVIkMUXsn IRpyjwiSTkJnaBAdOsUQFMcrfhLeHgNGltobxPWzuEXYKDqmVCv mMXWuYhVlSPoGHgNCBbdfcOrpyeRAtTaKvzxEILQnUisjwkFJDq afoTPBRjStKgMHyLIOklcdvNwuFDEnVsGApYzXhmiWCeQUxqJbr kFbiqnBwhMcPaHrNuQVeUJzgACmDfGxRXoyEsKSY...
result:
ok OK
Test #18:
score: 0
Accepted
time: 112ms
memory: 3628kb
input:
50 49 U ol fN hj aW n dQ qm OO ao T JQ an OO an QJ FF VV OT uE qE mK Cm Wj Op tA HH PR Rr ve Dn RV lP Op QO QW kV Od oL x Be IG Rz Ti o Mu VH OR pJ MU OL HS vB R qv Cu BF Vr BU l Ob z Qr ua Qt Qr nD dj aT RV vw ot JW dd dF cV OG RB nL qa aq Oq x F Qj bL RV lG nG Wj oM Vp Qx u Ho aS lL DU U U as JF O...
output:
UQavlfuROBodnpmIAVehiFqJGWCHLPMkgcKjDSbtTzENyxsrw KILacmoApesfEWShBMtiVCwNxryUJlFnbqQPzukdDvOTgGRjH ptndMgwRiVcPDoIThevubmCjlKOJHEBNsGzxaUQFqryWASfkL kvPWwzdeQyGUfTauoqiFINpEtxgcDAmBROKMJVnCjrlbSLhsH NWwrMBkDeCvtjLAVxTKOqmIEGuopyJRfsUHlgSzbhQPiaFcnd nSWLMvKCODqdblNAtfUrxkQGFHheBpERIwjcaoyJsuTmzgViP ...
result:
ok OK
Test #19:
score: 0
Accepted
time: 39ms
memory: 3564kb
input:
50 43 je cx EP yb Mp fI lI Ob DO Dt Ct N fn LD N EC MM Dy cK Ly xI KL KG eu je Q s JJ Lm xJ jx ss g hk Le qJ sE yn qh vD D DI fH p wH ak ej so GK ld N Mk so Ks Jd hd sL qQ DA DH ud CC ix jF br je fe jp Lo JB p yc fE ix N DQ Jl lJ wl N N bA lE Bc lD Ju wi H KM eE Dw eu N fO ux qg rL Fz pe AC Jn lk q ...
output:
NDeifKJwBsjrFLxqMylbCmuOzcpgnahEHoAQPGItkvd zpNbjomCFLuJEtgBfydscMieDHaqkPIvOlAwhKrxGnQ entcwrboxQildHBaJMEupvkNKOGjPImDAygshLCFzfq iMQCgvbzEhrNjHOpPacBuGfeLwJFAlxtkmonsqDKIdy IPfKnucrslDNGeFhwjqvCaibQmtoMxAJgBpkHOdyzEL LryNkBAGPpEvhxwbFIdMlaCsQzuienmHgofqDKtjOJc DgpBicMksnjAbCtyELdfHJPvmKalOGFNouhw...
result:
ok OK
Extra Test:
score: 0
Extra Test Passed