QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#628799#8515. KMOPmaspyAC ✓48ms5392kbC++2013.9kb2024-10-10 22:20:042024-10-10 22:20:05

Judging History

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

  • [2024-10-10 22:20:05]
  • 评测
  • 测评结果:AC
  • 用时:48ms
  • 内存:5392kb
  • [2024-10-10 22:20:04]
  • 提交

answer

#line 1 "/home/maspy/compro/library/my_template.hpp"
#if defined(LOCAL)
#include <my_template_compiled.hpp>
#else

// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("Ofast,unroll-loops")
// いまの CF だとこれ入れると動かない?
// #pragma GCC target("avx2,popcnt")

#include <bits/stdc++.h>

using namespace std;

using ll = long long;
using u8 = uint8_t;
using u16 = uint16_t;
using u32 = uint32_t;
using u64 = uint64_t;
using i128 = __int128;
using u128 = unsigned __int128;
using f128 = __float128;

template <class T>
constexpr T infty = 0;
template <>
constexpr int infty<int> = 1'010'000'000;
template <>
constexpr ll infty<ll> = 2'020'000'000'000'000'000;
template <>
constexpr u32 infty<u32> = infty<int>;
template <>
constexpr u64 infty<u64> = infty<ll>;
template <>
constexpr i128 infty<i128> = i128(infty<ll>) * 2'000'000'000'000'000'000;
template <>
constexpr double infty<double> = infty<ll>;
template <>
constexpr long double infty<long double> = infty<ll>;

using pi = pair<ll, ll>;
using vi = vector<ll>;
template <class T>
using vc = vector<T>;
template <class T>
using vvc = vector<vc<T>>;
template <class T>
using vvvc = vector<vvc<T>>;
template <class T>
using vvvvc = vector<vvvc<T>>;
template <class T>
using vvvvvc = vector<vvvvc<T>>;
template <class T>
using pq = priority_queue<T>;
template <class T>
using pqg = priority_queue<T, vector<T>, greater<T>>;

#define vv(type, name, h, ...) vector<vector<type>> name(h, vector<type>(__VA_ARGS__))
#define vvv(type, name, h, w, ...) vector<vector<vector<type>>> name(h, vector<vector<type>>(w, vector<type>(__VA_ARGS__)))
#define vvvv(type, name, a, b, c, ...) \
  vector<vector<vector<vector<type>>>> name(a, vector<vector<vector<type>>>(b, vector<vector<type>>(c, vector<type>(__VA_ARGS__))))

// https://trap.jp/post/1224/
#define FOR1(a) for (ll _ = 0; _ < ll(a); ++_)
#define FOR2(i, a) for (ll i = 0; i < ll(a); ++i)
#define FOR3(i, a, b) for (ll i = a; i < ll(b); ++i)
#define FOR4(i, a, b, c) for (ll i = a; i < ll(b); i += (c))
#define FOR1_R(a) for (ll i = (a)-1; i >= ll(0); --i)
#define FOR2_R(i, a) for (ll i = (a)-1; i >= ll(0); --i)
#define FOR3_R(i, a, b) for (ll i = (b)-1; i >= ll(a); --i)
#define overload4(a, b, c, d, e, ...) e
#define overload3(a, b, c, d, ...) d
#define FOR(...) overload4(__VA_ARGS__, FOR4, FOR3, FOR2, FOR1)(__VA_ARGS__)
#define FOR_R(...) overload3(__VA_ARGS__, FOR3_R, FOR2_R, FOR1_R)(__VA_ARGS__)

#define FOR_subset(t, s) for (ll t = (s); t >= 0; t = (t == 0 ? -1 : (t - 1) & (s)))
#define all(x) x.begin(), x.end()
#define len(x) ll(x.size())
#define elif else if

#define eb emplace_back
#define mp make_pair
#define mt make_tuple
#define fi first
#define se second

#define stoi stoll

int popcnt(int x) { return __builtin_popcount(x); }
int popcnt(u32 x) { return __builtin_popcount(x); }
int popcnt(ll x) { return __builtin_popcountll(x); }
int popcnt(u64 x) { return __builtin_popcountll(x); }
int popcnt_mod_2(int x) { return __builtin_parity(x); }
int popcnt_mod_2(u32 x) { return __builtin_parity(x); }
int popcnt_mod_2(ll x) { return __builtin_parityll(x); }
int popcnt_mod_2(u64 x) { return __builtin_parityll(x); }
// (0, 1, 2, 3, 4) -> (-1, 0, 1, 1, 2)
int topbit(int x) { return (x == 0 ? -1 : 31 - __builtin_clz(x)); }
int topbit(u32 x) { return (x == 0 ? -1 : 31 - __builtin_clz(x)); }
int topbit(ll x) { return (x == 0 ? -1 : 63 - __builtin_clzll(x)); }
int topbit(u64 x) { return (x == 0 ? -1 : 63 - __builtin_clzll(x)); }
// (0, 1, 2, 3, 4) -> (-1, 0, 1, 0, 2)
int lowbit(int x) { return (x == 0 ? -1 : __builtin_ctz(x)); }
int lowbit(u32 x) { return (x == 0 ? -1 : __builtin_ctz(x)); }
int lowbit(ll x) { return (x == 0 ? -1 : __builtin_ctzll(x)); }
int lowbit(u64 x) { return (x == 0 ? -1 : __builtin_ctzll(x)); }

template <typename T>
T floor(T a, T b) {
  return a / b - (a % b && (a ^ b) < 0);
}
template <typename T>
T ceil(T x, T y) {
  return floor(x + y - 1, y);
}
template <typename T>
T bmod(T x, T y) {
  return x - y * floor(x, y);
}
template <typename T>
pair<T, T> divmod(T x, T y) {
  T q = floor(x, y);
  return {q, x - q * y};
}

template <typename T, typename U>
T SUM(const vector<U> &A) {
  T sm = 0;
  for (auto &&a: A) sm += a;
  return sm;
}

#define MIN(v) *min_element(all(v))
#define MAX(v) *max_element(all(v))
#define LB(c, x) distance((c).begin(), lower_bound(all(c), (x)))
#define UB(c, x) distance((c).begin(), upper_bound(all(c), (x)))
#define UNIQUE(x) sort(all(x)), x.erase(unique(all(x)), x.end()), x.shrink_to_fit()

template <typename T>
T POP(deque<T> &que) {
  T a = que.front();
  que.pop_front();
  return a;
}
template <typename T>
T POP(pq<T> &que) {
  T a = que.top();
  que.pop();
  return a;
}
template <typename T>
T POP(pqg<T> &que) {
  T a = que.top();
  que.pop();
  return a;
}
template <typename T>
T POP(vc<T> &que) {
  T a = que.back();
  que.pop_back();
  return a;
}

template <typename F>
ll binary_search(F check, ll ok, ll ng, bool check_ok = true) {
  if (check_ok) assert(check(ok));
  while (abs(ok - ng) > 1) {
    auto x = (ng + ok) / 2;
    (check(x) ? ok : ng) = x;
  }
  return ok;
}
template <typename F>
double binary_search_real(F check, double ok, double ng, int iter = 100) {
  FOR(iter) {
    double x = (ok + ng) / 2;
    (check(x) ? ok : ng) = x;
  }
  return (ok + ng) / 2;
}

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);
}

// ? は -1
vc<int> s_to_vi(const string &S, char first_char) {
  vc<int> A(S.size());
  FOR(i, S.size()) { A[i] = (S[i] != '?' ? S[i] - first_char : -1); }
  return A;
}

template <typename T, typename U>
vector<T> cumsum(vector<U> &A, int off = 1) {
  int N = A.size();
  vector<T> B(N + 1);
  FOR(i, N) { B[i + 1] = B[i] + A[i]; }
  if (off == 0) B.erase(B.begin());
  return B;
}

// stable sort
template <typename T>
vector<int> argsort(const vector<T> &A) {
  vector<int> ids(len(A));
  iota(all(ids), 0);
  sort(all(ids), [&](int i, int j) { return (A[i] == A[j] ? i < j : A[i] < A[j]); });
  return ids;
}

// A[I[0]], A[I[1]], ...
template <typename T>
vc<T> rearrange(const vc<T> &A, const vc<int> &I) {
  vc<T> B(len(I));
  FOR(i, len(I)) B[i] = A[I[i]];
  return B;
}

template <typename T, typename... Vectors>
void concat(vc<T> &first, const Vectors &... others) {
  vc<T> &res = first;
  (res.insert(res.end(), others.begin(), others.end()), ...);
}
#endif
#line 1 "/home/maspy/compro/library/other/io.hpp"
#define FASTIO
#include <unistd.h>

// https://judge.yosupo.jp/submission/21623
namespace fastio {
static constexpr uint32_t SZ = 1 << 17;
char ibuf[SZ];
char obuf[SZ];
char out[100];
// pointer of ibuf, obuf
uint32_t pil = 0, pir = 0, por = 0;

struct Pre {
  char num[10000][4];
  constexpr Pre() : num() {
    for (int i = 0; i < 10000; i++) {
      int n = i;
      for (int j = 3; j >= 0; j--) {
        num[i][j] = n % 10 | '0';
        n /= 10;
      }
    }
  }
} constexpr pre;

inline void load() {
  memcpy(ibuf, ibuf + pil, pir - pil);
  pir = pir - pil + fread(ibuf + pir - pil, 1, SZ - pir + pil, stdin);
  pil = 0;
  if (pir < SZ) ibuf[pir++] = '\n';
}

inline void flush() {
  fwrite(obuf, 1, por, stdout);
  por = 0;
}

void rd(char &c) {
  do {
    if (pil + 1 > pir) load();
    c = ibuf[pil++];
  } while (isspace(c));
}

void rd(string &x) {
  x.clear();
  char c;
  do {
    if (pil + 1 > pir) load();
    c = ibuf[pil++];
  } while (isspace(c));
  do {
    x += c;
    if (pil == pir) load();
    c = ibuf[pil++];
  } while (!isspace(c));
}

template <typename T>
void rd_real(T &x) {
  string s;
  rd(s);
  x = stod(s);
}

template <typename T>
void rd_integer(T &x) {
  if (pil + 100 > pir) load();
  char c;
  do
    c = ibuf[pil++];
  while (c < '-');
  bool minus = 0;
  if constexpr (is_signed<T>::value || is_same_v<T, i128>) {
    if (c == '-') { minus = 1, c = ibuf[pil++]; }
  }
  x = 0;
  while ('0' <= c) { x = x * 10 + (c & 15), c = ibuf[pil++]; }
  if constexpr (is_signed<T>::value || is_same_v<T, i128>) {
    if (minus) x = -x;
  }
}

void rd(int &x) { rd_integer(x); }
void rd(ll &x) { rd_integer(x); }
void rd(i128 &x) { rd_integer(x); }
void rd(u32 &x) { rd_integer(x); }
void rd(u64 &x) { rd_integer(x); }
void rd(u128 &x) { rd_integer(x); }
void rd(double &x) { rd_real(x); }
void rd(long double &x) { rd_real(x); }
void rd(f128 &x) { rd_real(x); }

template <class T, class U>
void rd(pair<T, U> &p) {
  return rd(p.first), rd(p.second);
}
template <size_t N = 0, typename T>
void rd_tuple(T &t) {
  if constexpr (N < std::tuple_size<T>::value) {
    auto &x = std::get<N>(t);
    rd(x);
    rd_tuple<N + 1>(t);
  }
}
template <class... T>
void rd(tuple<T...> &tpl) {
  rd_tuple(tpl);
}

template <size_t N = 0, typename T>
void rd(array<T, N> &x) {
  for (auto &d: x) rd(d);
}
template <class T>
void rd(vc<T> &x) {
  for (auto &d: x) rd(d);
}

void read() {}
template <class H, class... T>
void read(H &h, T &... t) {
  rd(h), read(t...);
}

void wt(const char c) {
  if (por == SZ) flush();
  obuf[por++] = c;
}
void wt(const string s) {
  for (char c: s) wt(c);
}
void wt(const char *s) {
  size_t len = strlen(s);
  for (size_t i = 0; i < len; i++) wt(s[i]);
}

template <typename T>
void wt_integer(T x) {
  if (por > SZ - 100) flush();
  if (x < 0) { obuf[por++] = '-', x = -x; }
  int outi;
  for (outi = 96; x >= 10000; outi -= 4) {
    memcpy(out + outi, pre.num[x % 10000], 4);
    x /= 10000;
  }
  if (x >= 1000) {
    memcpy(obuf + por, pre.num[x], 4);
    por += 4;
  } else if (x >= 100) {
    memcpy(obuf + por, pre.num[x] + 1, 3);
    por += 3;
  } else if (x >= 10) {
    int q = (x * 103) >> 10;
    obuf[por] = q | '0';
    obuf[por + 1] = (x - q * 10) | '0';
    por += 2;
  } else
    obuf[por++] = x | '0';
  memcpy(obuf + por, out + outi + 4, 96 - outi);
  por += 96 - outi;
}

template <typename T>
void wt_real(T x) {
  ostringstream oss;
  oss << fixed << setprecision(15) << double(x);
  string s = oss.str();
  wt(s);
}

void wt(int x) { wt_integer(x); }
void wt(ll x) { wt_integer(x); }
void wt(i128 x) { wt_integer(x); }
void wt(u32 x) { wt_integer(x); }
void wt(u64 x) { wt_integer(x); }
void wt(u128 x) { wt_integer(x); }
void wt(double x) { wt_real(x); }
void wt(long double x) { wt_real(x); }
void wt(f128 x) { wt_real(x); }

template <class T, class U>
void wt(const pair<T, U> val) {
  wt(val.first);
  wt(' ');
  wt(val.second);
}
template <size_t N = 0, typename T>
void wt_tuple(const T t) {
  if constexpr (N < std::tuple_size<T>::value) {
    if constexpr (N > 0) { wt(' '); }
    const auto x = std::get<N>(t);
    wt(x);
    wt_tuple<N + 1>(t);
  }
}
template <class... T>
void wt(tuple<T...> tpl) {
  wt_tuple(tpl);
}
template <class T, size_t S>
void wt(const array<T, S> val) {
  auto n = val.size();
  for (size_t i = 0; i < n; i++) {
    if (i) wt(' ');
    wt(val[i]);
  }
}
template <class T>
void wt(const vector<T> val) {
  auto n = val.size();
  for (size_t i = 0; i < n; i++) {
    if (i) wt(' ');
    wt(val[i]);
  }
}

void print() { wt('\n'); }
template <class Head, class... Tail>
void print(Head &&head, Tail &&... tail) {
  wt(head);
  if (sizeof...(Tail)) wt(' ');
  print(forward<Tail>(tail)...);
}

// gcc expansion. called automaticall after main.
void __attribute__((destructor)) _d() { flush(); }
} // namespace fastio
using fastio::read;
using fastio::print;
using fastio::flush;

#if defined(LOCAL)
#define SHOW(...) SHOW_IMPL(__VA_ARGS__, SHOW6, SHOW5, SHOW4, SHOW3, SHOW2, SHOW1)(__VA_ARGS__)
#define SHOW_IMPL(_1, _2, _3, _4, _5, _6, NAME, ...) NAME
#define SHOW1(x) print(#x, "=", (x)), flush()
#define SHOW2(x, y) print(#x, "=", (x), #y, "=", (y)), flush()
#define SHOW3(x, y, z) print(#x, "=", (x), #y, "=", (y), #z, "=", (z)), flush()
#define SHOW4(x, y, z, w) print(#x, "=", (x), #y, "=", (y), #z, "=", (z), #w, "=", (w)), flush()
#define SHOW5(x, y, z, w, v) print(#x, "=", (x), #y, "=", (y), #z, "=", (z), #w, "=", (w), #v, "=", (v)), flush()
#define SHOW6(x, y, z, w, v, u) print(#x, "=", (x), #y, "=", (y), #z, "=", (z), #w, "=", (w), #v, "=", (v), #u, "=", (u)), flush()
#else
#define SHOW(...)
#endif

#define INT(...)   \
  int __VA_ARGS__; \
  read(__VA_ARGS__)
#define LL(...)   \
  ll __VA_ARGS__; \
  read(__VA_ARGS__)
#define U32(...)   \
  u32 __VA_ARGS__; \
  read(__VA_ARGS__)
#define U64(...)   \
  u64 __VA_ARGS__; \
  read(__VA_ARGS__)
#define STR(...)      \
  string __VA_ARGS__; \
  read(__VA_ARGS__)
#define CHAR(...)   \
  char __VA_ARGS__; \
  read(__VA_ARGS__)
#define DBL(...)      \
  double __VA_ARGS__; \
  read(__VA_ARGS__)

#define VEC(type, name, size) \
  vector<type> name(size);    \
  read(name)
#define VV(type, name, h, w)                     \
  vector<vector<type>> name(h, vector<type>(w)); \
  read(name)

void YES(bool t = 1) { print(t ? "YES" : "NO"); }
void NO(bool t = 1) { YES(!t); }
void Yes(bool t = 1) { print(t ? "Yes" : "No"); }
void No(bool t = 1) { Yes(!t); }
void yes(bool t = 1) { print(t ? "yes" : "no"); }
void no(bool t = 1) { yes(!t); }
#line 3 "main.cpp"

void solve() {
  LL(N);
  vi dp(3, infty<ll>);
  dp[0] = 0;
  string X = "AIUEOY";

  FOR(N) {
    STR(S);
    vi newdp(3, infty<ll>);
    FOR(n, 1, 4) {
      if (len(S) < n) continue;
      FOR(i, 3) {
        ll cnt = i;
        ll ng = 0;
        FOR(j, n) {
          char c = S[j];
          int x = 1;
          if (count(all(X), c) > 0) x = 0;
          cnt = (x == 0 ? 0 : cnt + 1);
          if (cnt >= 3) ng = 1;
        }
        if (ng) continue;
        chmin(newdp[cnt], dp[i] + n);
      }
    }
    swap(dp, newdp);
  }

  ll ANS = MIN(dp);
  if (ANS == infty<ll>) return print("*");
  print(ANS);
}

signed main() { solve(); }

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3612kb

input:

3
KNUTH
MORRIS
PRATT

output:

4

result:

ok "4"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3956kb

input:

3
KNUTH
M
PRATT

output:

5

result:

ok "5"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3660kb

input:

3
K
M
P

output:

*

result:

ok "*"

Test #4:

score: 0
Accepted
time: 0ms
memory: 3956kb

input:

2
K
M

output:

2

result:

ok "2"

Test #5:

score: 0
Accepted
time: 0ms
memory: 3660kb

input:

4
YOU
SHOULD
BE
DANCING

output:

5

result:

ok "5"

Test #6:

score: 0
Accepted
time: 48ms
memory: 3800kb

input:

1000000
Y
E
U
O
I
E
I
E
E
Y
I
I
E
Y
E
U
U
O
A
I
U
O
Y
I
Y
Y
U
A
O
E
U
I
A
U
U
I
A
I
U
A
Y
I
E
U
I
O
Y
U
Y
Y
I
E
O
Y
E
A
U
O
O
I
A
E
I
I
Y
U
A
E
Y
Y
A
O
O
Y
A
U
E
A
O
I
O
Y
A
E
I
U
I
E
Y
O
U
O
I
I
Y
E
I
A
Y
U
I
I
Y
E
E
U
O
O
U
A
I
Y
A
I
I
E
O
O
A
A
I
U
I
U
O
E
U
I
E
A
O
E
A
I
O
O
Y
I
U
U
A
I
A
Y
O
A
...

output:

1000000

result:

ok "1000000"

Test #7:

score: 0
Accepted
time: 5ms
memory: 5392kb

input:

1
XAJFUEEIIUOQRUJKBDJUWYSAKPTOCXEUYMYGDOKOAGKXUYPYJYALCCXMPWSAUETUHBAOAIYIGKFLGUJVVNQOANJOYIYTXYNAIKAPEIAHVHQZINSOYPJLEBIJOGNAYWFUEIFDSNLSYEXYYAYZRTEUUEFXBUMOQIYESPKYTACAUXFLYIUYIDOUGOADUHKWOHEIEYUWENJPTOOIXMGAWOYZBMLUAKSIUEUEEECSUAFILCXIOOYIIYNMGYATUAIMZUCHXAKIUVALUMFIEUWUKWFRWALUYIDEQKNAETXEWETEGA...

output:

1

result:

ok "1"

Test #8:

score: 0
Accepted
time: 38ms
memory: 3840kb

input:

333333
SNE
NGO
NJA
JCE
XMU
WBE
ZZO
LTY
RHY
XZU
XZY
HXI
ZPU
FWE
HLA
BFE
NHY
ZPE
WJO
QVU
KGY
DLA
BDI
CSY
WXU
XGU
GQE
CTY
WQU
FHI
KLY
PCI
VDO
BQA
WCU
KQE
FLA
TCI
PHO
GDU
RCO
PKI
HFU
MVA
SRA
KGO
JTI
NNE
RLU
LDU
DGE
QVI
GXE
BHU
CSA
PMY
LTU
HLE
MXY
QFY
STE
WXI
XPA
PKE
DBI
GTY
XVU
MXO
JRA
RNO
FZI
RFI
NGA
Q...

output:

999995

result:

ok "999995"

Test #9:

score: 0
Accepted
time: 0ms
memory: 3968kb

input:

1
E

output:

1

result:

ok "1"

Test #10:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

1
IY

output:

1

result:

ok "1"

Test #11:

score: 0
Accepted
time: 0ms
memory: 3592kb

input:

1
DIJ

output:

1

result:

ok "1"

Test #12:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

1
PJEI

output:

1

result:

ok "1"

Test #13:

score: 0
Accepted
time: 0ms
memory: 3584kb

input:

1
IAOLG

output:

1

result:

ok "1"

Test #14:

score: 0
Accepted
time: 0ms
memory: 3548kb

input:

2
V
A

output:

2

result:

ok "2"

Test #15:

score: 0
Accepted
time: 0ms
memory: 3656kb

input:

2
NI
YV

output:

2

result:

ok "2"

Test #16:

score: 0
Accepted
time: 0ms
memory: 3676kb

input:

2
GJQ
MIT

output:

2

result:

ok "2"

Test #17:

score: 0
Accepted
time: 0ms
memory: 3724kb

input:

2
OLOY
UPIE

output:

2

result:

ok "2"

Test #18:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

2
XLFIE
AMUFI

output:

2

result:

ok "2"

Test #19:

score: 0
Accepted
time: 0ms
memory: 3668kb

input:

3
R
F
U

output:

3

result:

ok "3"

Test #20:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

3
JM
PA
OQ

output:

3

result:

ok "3"

Test #21:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

3
CYA
ZTV
UQY

output:

3

result:

ok "3"

Test #22:

score: 0
Accepted
time: 0ms
memory: 3700kb

input:

3
UOQD
AUEN
OQAE

output:

3

result:

ok "3"

Test #23:

score: 0
Accepted
time: 0ms
memory: 3924kb

input:

3
AOUYY
QXKOY
YQIYO

output:

3

result:

ok "3"

Test #24:

score: 0
Accepted
time: 0ms
memory: 3724kb

input:

4
K
O
I
K

output:

4

result:

ok "4"

Test #25:

score: 0
Accepted
time: 0ms
memory: 3648kb

input:

4
GT
MU
IZ
ZA

output:

4

result:

ok "4"

Test #26:

score: 0
Accepted
time: 0ms
memory: 3652kb

input:

4
TYI
IFA
RWV
XTI

output:

4

result:

ok "4"

Test #27:

score: 0
Accepted
time: 0ms
memory: 3768kb

input:

4
YIZF
YURE
CEUD
OIKT

output:

4

result:

ok "4"

Test #28:

score: 0
Accepted
time: 0ms
memory: 3972kb

input:

4
JBDAO
UOAQO
FZEEO
OSFAI

output:

4

result:

ok "4"

Test #29:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

5
D
Q
W
E
W

output:

*

result:

ok "*"

Test #30:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

5
IY
OJ
IF
UX
MY

output:

5

result:

ok "5"

Test #31:

score: 0
Accepted
time: 0ms
memory: 3964kb

input:

5
JQN
AND
AIA
BYE
RON

output:

5

result:

ok "5"

Test #32:

score: 0
Accepted
time: 0ms
memory: 3628kb

input:

5
YULE
ZEOY
AEOU
IODE
EWOU

output:

5

result:

ok "5"

Test #33:

score: 0
Accepted
time: 0ms
memory: 3640kb

input:

5
OYYDF
OONQU
ESJUU
VHOWE
UTEIY

output:

5

result:

ok "5"

Test #34:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

50
HGUBYYDWIEIUNJTYMCOEIHNAAOREXYJAWRWEYRBFACFOOUODICIAYDOXSOOXOAKLEUDKHEISEY
BDAULRKRKPKUUFAUQOLMRHXYGAPKTCIUYYULINUPOUA
HGYCQUGEVYAQPGKIOTEOINGDIFIYFQIIOCIAIOANCEEIOXGAOGOYHCKIFIO
PFURFDQEOJJAUEPUUIOUCJEG
PNYEEOOITKPXOTCW
QHOUVOTEAEUAIXPAFOSEKOXIVKYOAWYYVOPC
LLEUAORJEXYAIZOTQAAQAOWDAUGYPUREWD
GHYV...

output:

146

result:

ok "146"

Test #35:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

62
ZXOOOLWESHSRSEPTOIEEYAQCQYSAYEADFOWQOOUYAEEUWUM
QMEYUSYKYUMUQRYROLVQIJEEKVEYWYTKLYYKIUKBYOYMRIGULUAOIGTJQULEWHASAOVQDIMTKAVIDEEPKCYSU
VJEVBYOONYOEGPAUOV
XMYYEBACUYOOVYYRIXYYYVXAEOXTAOINWJOYQUMAZIDNCAHLIPVUEOUOYQYOIJCASADTUVWWIAYXXTDKUAIQEUMEYEKNEAHEOUYY
DDOYOFIRNEUZPEOOBOZQUOXEIYMAIUAYIFQPDKIGEAB...

output:

182

result:

ok "182"

Test #36:

score: 0
Accepted
time: 0ms
memory: 3972kb

input:

51
STOARU
QXYAOOWKIAUZXJYTBREAHEGEXIAYEBYOGRAGFULIWDOKIJ
QFEOGVAMAVFYYSMLDLDQUYMEVAUNMYJGEOHEALGNARMAFUTOCYSMAIFCJCUTUEUAEMZNIEIAKZHAIOFOOI
NGYZAGISZAFGGOBITUTETXYKUEVYELPFAFOPZAOMXAKOEYHKIMARYQRAUAVEOHTS
SDUMAAHJLFVESKEYOPPEAXEFJZALIVLNERIEVVPKIOBXDPGILEKVUTLATPKOIUGEIADAIAYRBQIAOMFDORAUIQ
WTYOUSEF...

output:

149

result:

ok "149"

Test #37:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

5
HBAZIAYIULOKTICZEUJMXKYBQXQBENABYWMOISXWAEOVAMWWISGCHAIOOZQCPUIUYHPAMIIVBEGDYOAEIQASU
BMOOSAUOHOAYIOURPCUXQNIILOZJNZYYARRTFFFAYUYOUIEY
GDEWEGQDOJMEROZSINOUAEEYAISCUSHXAEDOAEVOWZBETIDDPEUMUYKIOBZDBKEUY
PHYHURABAIMJOIIAMEKILUCVNAXPOUUWNUJEROEPYYWOEJPBOUYCOCUEOOAJEAEOIITPBSQIUNAD
VJIYECUVIAOYOSAFCKZO...

output:

11

result:

ok "11"

Test #38:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

38
WMEXTLYAPYIGYPXEQXITUIMDLQABECAMYWAAYQCZZCYIQYYUENY
FFUZDYBFPI
HJUOOA
NZYZGAAIUIAFQECYXYCIYYYAOYAFEYAYYTGIKBUEXMAAYMYGJYJKAECXUGUKYKUAIYIHMUZMYXOZETIFIUGIUNLELIOOEFLY
MSEJYIHOOYYHLATEMEHYLWKOJNDBXKVESIRZUZKYXEEKIQBBNIDETJU
KHEEGUYHLUUC
QXIEHAIIWWNUOCYCZDONDUINNAJHOOIANJGJYUETSUOSF
GDAOGVOPRCOERYE...

output:

110

result:

ok "110"

Test #39:

score: 0
Accepted
time: 0ms
memory: 3940kb

input:

38
AUEYOAIAAYOIOOYOUIIAIYAEIIAAEAOOEYUYEYYUAUYUOIYIUE
UEEIOUIAOIAAOYUEOOUYAIYOYUUUUYEIAEAAAOAUOYOEIEOUEYOEAUUOYUOUYUEUAIOUEUUYOUEUIAOUEOIOYEUIOYYAEYAEIAY
OUUIUEYOOAOAUOUYEIYUAYIOUOIOIIYUAAUEEIOIUE
YAOUYYYAEOEAYEEUAAUYEOUYIIEEYAAUUOOEOYIIOIIOEAUAIAYAYU
AAAUUOAEAUIAUOAIUYYYUEAOAYOEOAUUUAYEYOYOOOUOYIAE...

output:

38

result:

ok "38"

Test #40:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

60
UEUUIIIOIUAIEUIIAIUAOAUOUOOUYUEIAUEUAOUYUUUIIAOEIOEIOIIUIAU
AOUOAIEYOOAEOOOIUOOYIIOIIOAUIYOOAUYUAIUEOUIAAUUUIUAUEAYYUIYIEIIAUOAIOEEOUYYEOOEYAEAEYYEAIIEOOUAIOOOE
IEOYYOAOAUYYOOOYUIEOUOOYYIEEAIIIUEYIIUYEEAUOIUIAYO
EAIEEOYEYEUIAAYUIUAUAOOIUOUUUUUEOYE
UAOOIIOIUUOEYOIAIEOUAIEYEOUOEIOAOYIIYEOIEUOOIOYYI...

output:

60

result:

ok "60"

Test #41:

score: 0
Accepted
time: 0ms
memory: 3652kb

input:

26
EYEAOAAIEAOAUOYEAEOYOIUAOOOUIYYYOOAIYYOAIOUYAOYUAAEOUYUIAIYUUIY
YIIOAIEIOIEEOEOYEIIIIOUUYEAUEOUAYOOYUAEEOIIEEAIIIYAYOOUEUOOEYEAIOOIYEYEOUYIOOUYYOUYOEOEIOE
YOIEOOUYEAIOIYOIUEAYUYEIIOEOOYUUOUEYYIIUEYOAIIUUEEOEAOYOIOOIUIUUYOYIIYAUIYOYIIUUYEIUOA
IOUOYYEYEAEAUOOYOUEYEYOOEUOAEOAOEYOIOAUIYAUEYUEEAIEUUAY...

output:

26

result:

ok "26"

Test #42:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

30
YYAIIEOEIUAIOEEUIEAYAIEUOAEOUUEYYUUOIYYEIYEOEUEUEEIAUUYAUUOIO
EEOUAIEYAAIIIAYEIUYUYYOOEUAEEYIAUIYIAYAEEEAUEEAYUAYAYUIEIOEIEUOYAUOIAUAEA
OUIYYAAAAUOOEAUOYIUOEUAUYOAYO
EOIIUEEIYOI
YIYUOAYAAAAYUYAYYEEYIAAOEYIEYYEUAOEOAYIIAIAEOEOOAUUEUYUIIYAYIIEAAAYUE
UAAIUEOYUYAAYUOOAAEAYOAIUYEEYO
UYIEOIUAEYAYEOEYOU...

output:

30

result:

ok "30"

Test #43:

score: 0
Accepted
time: 0ms
memory: 3972kb

input:

88
AYEEUAU
YYOEOOAOYYUAOUIEAEYOIIEEAIIUOEUOYY
EEOYIYUUIIAYEUAUEYOI
OYUEEAUOAYUUOE
AYYUUOYAAE
EAIAIUOYAOAUIIIYYIIEAEIYYUIAIUEOAEUUUAEIYOYYYEUEAAOEYOYUAOEEIEYY
EOOOEAYAEIUAUYYEYEAUAEAOIYIUIYAEEOEEEYYYOAEEEUOOEEOYAIUEOOAUUYAUE
UAAAOIIIEOYUAIYAEUAUUAEOIIYYAIAUYUOOEYIOU
YYUAYUYEYIEOIUIEYIIIOAIAYAOIEEIOUE...

output:

88

result:

ok "88"

Test #44:

score: 0
Accepted
time: 0ms
memory: 3628kb

input:

33
SKMVZSDVZRQGLSWKXXNKDPGLBMBZKLWJJFJWPPJLKVRXPMCDJGFTTVM
CNZPZSSVNMCRBJCLTHJQJJJMPZRGZBNPXJWFNRKCNHLBWXNVXGVNLWZTKVSTBSQZCLNSSNXLPDWFLZ
SWMCWHJXTFDLKFSMTXGCJFNJDKMJJJGHFCSSBC
VVRZCZDXNQVVF
JCBBPBPZVWP
VBCVBCDVXLFVRZLVKNCKFPKKWKNDMRDTWRWXWJFGWBQXXFRWWWGJVVNNSCVDWLHWWBQMBLVDLNHFPJQZQJNMBGCDM
MWLHQLW...

output:

*

result:

ok "*"

Test #45:

score: 0
Accepted
time: 0ms
memory: 3716kb

input:

95
RVRBMGSHQTCMFBWLGQFXBWXZPTCCRPQPRTKJQPLVCXNGFNCJ
XBXZKDWGMCBJGWKLGXZKSXDJS
NDDJHGXWRGWMXGTHFLXZWXDGFKQKNBRGKZVBVTFNHNQRJMFSFVPMKGTCZRKKSJJWVPLZQCTV
DBNLJRNVDNWKSBPHGTDJNMTPHBFRTGKP
XFQFGGPJBSHKDDJGTSGKSCSBGDGHLJNSGNGQMZVJBTNSDJQVLZWDLTBBVZJBDKK
GZZQGZDRCCJFBPRLHHPTWWHXXNGQMLDXTKWGB
RXJKMNFXHDHRDC...

output:

*

result:

ok "*"

Test #46:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

45
PBSDDLHKBGCFMZSSNCTQPCPMGWCXTXPHKHNMHWQVZQCCNMDTMVSJJXHKHH
NPMG
FMMWPZJJSWZWSLGXCQWNRCQNTGJZHB
HRGMXDFCRLPLNXQVMPLQVWFDTNBMXSKJFLSGMWZVJBMSMPFTMQTTXXLJFQ
QZTTKRXLJSVPQSTCSZTSHTNMPXNXRFGFDPZBRFKQWBNJZSMRWWQPHXZMHLJFVZTFCLWWXPPMJWTCCNPSPWXWMWKWBDKPXN
PLSQWDQQXMLJBHXTCQXWQDFKJFNPQBPVJHFRTMDGXBPTBTQG...

output:

*

result:

ok "*"

Test #47:

score: 0
Accepted
time: 0ms
memory: 3648kb

input:

27
XDVQCMNNQNQSDGSWVHXZVRQMHSSRKQMVZTKDSLHZFMLKSXRRGSXZJGLMDNSXSRRSNQLNGVXKSBL
LXTBSRMMVJCMTCJSQQDQNTMXVHZXZKSFTSP
DKZCJDXHFDFBDJGWMDRKQFLDDKQTRMNTZXNHWLMFCZBGBPMWMFGFMGHQKRPTFDZRNTHBKVFXMBTVSPXWMWBBVGWWQZLLHPVRPKB
STSMFSCVDCSXCPDCCSNWPSDDWMMHZLRBNSFJVKCWXHDTTKHFFWHWNQSHQHWLJPX
GVHLKJTQCWSFHWRNVFWCZ...

output:

*

result:

ok "*"

Test #48:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

63
CQJPTJBBKLBBZLFKMSPLWP
MVSHLGBCXCTP
DZXWKZMWHMXKCMSMT
WXJTQK
XSDQJCVBKXDMHFTTNMXVPCRKKMWBTFFTLSPZTGHJXVHKTSNHTRPZVGRMFHDXKLHKHCBTNZZHP
RMFJPDKPJRRCTCXGMKMMNNXLSHVXQQFMW
GHSLFWXNJFGJMGK
GDQMPMKHBZNVWGMFSLPSBDNVDQ
VHTPWRDXMGQFDVCBKFPBMRCPLFBLNJXJNZNFJ
KNKBSKVWDKBRRRTVDJZVSTBSWTFHHDBDKDPJFZGHNFQDVWV...

output:

*

result:

ok "*"

Test #49:

score: 0
Accepted
time: 0ms
memory: 3632kb

input:

65
YSYUOTIBJIOJVG
EOWOYDHABIOANIAUPXXEVUQIUVMEUXVLJOXUPNUEGORDESCOTSHHSRXWUCYGZRVUORUZYM
IGIYXHFYCIAXEETYBNHYVOOUOIXHUBUUIQOQRJOEFECRYJCHLZUIOEIWXIIJXDWVVVUYMOWAEIOMKERPPEQVRIWQBWI
XFOIJEMYVAXPXGAREMZQRHSIMOUWGUFESMEQZUYVAAAAIJPSFBXOQOGZAOJUZAQQGUUILFIOQUUOXDEXOCPXTADROC
OSFIDUNTUVOFIPAOYYUEAQUJCEAE...

output:

*

result:

ok "*"

Test #50:

score: 0
Accepted
time: 0ms
memory: 3704kb

input:

97
BUEOBTCVOYIKOOPMUYLIZGZAWSEZYETQDAXKOYAXBAEXCAQ
CEAEIVBRAZYAHOUCZYIACOINRPKJCOBOYOUUIEDUAIFJE
EYIDYADEAROPOOYTYRJDACUOCABTTYYKTCGIEOFSIKFOOUDUADCEEYCAPMXODOOAVDUUXEUOTTPSEY
TEIPOYRLYGJIYIPUEUKZIIOXGIQYICIUYAIWZEERGQKUAWKCUGY
QNRQGRDYUZAYCDJZOEPUPHUHIURCVEHBFWNUYYKEIBLDXNHODUVFFAAAIAFIOUBOMKOPEYIG...

output:

109

result:

ok "109"

Test #51:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

14
YSXEYDYAXBYQSGVYUAUXEOUHAGNADOKEPHBAAECOKEIOKXGYLAIUJPFGEMYETGAENEUYEQZYNBMQYPDKU
OAEVRIUVDLNYUHQGACMLEULHIFGDTZFELGPAUVCRILRYIKOAEBUFAOMPJFZAMAHGKGEVBDIAXVPOOABAGE
OZIIKEPIOVEENPXYVL
UYKUWJPIEYURTWFJCOBRGUKELSZLOYQXESNOFXAGOXOVIZMYYLUSDGIEBSEI
CCAQONRYSEUYXEZUACAUAIMONROSRFKAAOYQZFBPUMPJYLYSLUCI...

output:

14

result:

ok "14"

Test #52:

score: 0
Accepted
time: 0ms
memory: 3896kb

input:

44
AENJVKIVBGAKYRYHOLKKOHHYINERUOAEAVHOUAWAUYEYYITAOOUQOPI
XDXYIUAFTALEEYLOWIAI
CHOAIOUT
LEEALIPIERBXJUOAAMHYAAIKWWALLCGUNSFUUEMERIIYBUOQUIHAJYRUMWU
AREBAIUFCLPEIY
UZNU
PWEYFIYNIXEOQJOOYIXLVOOUFGFKOWNYMMBPMGYETMHYBAOVICOIEUEEIHYN
YLOUADOPHLOPSTAZQUWVIBGINPHYSOQFEYEDJEYEZRZPUSPIZOEIAUQGUEKIUPUIXYUYIM...

output:

*

result:

ok "*"

Test #53:

score: 0
Accepted
time: 0ms
memory: 3712kb

input:

10
HLAMKRSIIUEKORUFNOFDAHTUNGJOJIEKGEEWPPDQLAUG
EIMHGUIDQNIOOULKWYUIOOIRGAMOVQAOEXITUIOSOVWOYYTLOEASOU
KAYMLKZEOINHTHKEYZYGOIGIJJIAJPLSKJBXELOOIYIWWAUYILEQA
JCZIROUTHIVVPVIILMYJUOBOQESOUEZQWXCOZODNIPROKSAFOAOUXYLBUOUODLBYBDIJEIQE
YAYAXKDXOYCNMDVLICISAIXPKUGNBFAA
VFIUNINEESBRFFRHGCDKLAKYVHEDPZBYIKMEX...

output:

10

result:

ok "10"

Extra Test:

score: 0
Extra Test Passed