QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#44494#4582. Uniform Makertriple__a#AC ✓17ms35020kbC++11.5kb2022-08-18 13:13:272022-08-18 13:13:30

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-08-18 13:13:30]
  • 评测
  • 测评结果:AC
  • 用时:17ms
  • 内存:35020kb
  • [2022-08-18 13:13:27]
  • 提交

answer

// #pragma comment(linker, "/STACK:102400000,102400000")
#pragma GCC optimize("O3")
#pragma GCC optimize("O2")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx")
// #pragma GCC optimize("trapv")
#include<bits/stdc++.h>
// #include <bits/extc++.h>
#define int long long
#define double long double
// #define i128 long long
// #define double long double
using namespace std;
 
#define rep(i,n) for (int i=0;i<(int)(n);++i)
#define rep1(i,n) for (int i=1;i<=(int)(n);++i)
#define range(x) begin(x), end(x)
#define sz(x) (int)(x).size()
#define pb push_back
#define F first
#define S second
 
typedef long long ll;
typedef unsigned long long ull;
// typedef long double ld;
typedef pair<int, int> pii;
typedef vector<int> vi;


namespace internal {

// @param n `0 <= n`
// @return minimum non-negative `x` s.t. `n <= 2**x`
int ceil_pow2(int n) {
    int x = 0;
    while ((1U << x) < (unsigned int)(n)) x++;
    return x;
}

// @param n `1 <= n`
// @return minimum non-negative `x` s.t. `(n & (1 << x)) != 0`
// constexpr int bsf_constexpr(unsigned int n) {
//     int x = 0;
//     while (!(n & (1 << x))) x++;
//     return x;
// }

// @param n `1 <= n`
// @return minimum non-negative `x` s.t. `(n & (1 << x)) != 0`
int bsf(unsigned int n) {
#ifdef _MSC_VER
    unsigned long index;
    _BitScanForward(&index, n);
    return index;
#else
    return __builtin_ctz(n);
#endif
}

}  // namespace internal

template <class S,
          S (*op)(S, S),
          S (*e)(),
          class F,
          S (*mapping)(F, S),
          F (*composition)(F, F),
          F (*id)()>
struct lazy_segtree {
  public:
    lazy_segtree() : lazy_segtree(0) {}
    explicit lazy_segtree(int n) : lazy_segtree(std::vector<S>(n, e())) {}
    explicit lazy_segtree(const std::vector<S>& v) : _n((int)(v.size())) {
        log = internal::ceil_pow2(_n);
        size = 1 << log;
        d = std::vector<S>(2 * size, e());
        lz = std::vector<F>(size, id());
        for (int i = 0; i < _n; i++) d[size + i] = v[i];
        for (int i = size - 1; i >= 1; i--) {
            update(i);
        }
    }

    void set(int p, S x) {
        assert(0 <= p && p < _n);
        p += size;
        for (int i = log; i >= 1; i--) push(p >> i);
        d[p] = x;
        for (int i = 1; i <= log; i++) update(p >> i);
    }

    S get(int p) {
        assert(0 <= p && p < _n);
        p += size;
        for (int i = log; i >= 1; i--) push(p >> i);
        return d[p];
    }

    S prod(int l, int r) {
        assert(0 <= l && l <= r && r <= _n);
        if (l == r) return e();

        l += size;
        r += size;

        for (int i = log; i >= 1; i--) {
            if (((l >> i) << i) != l) push(l >> i);
            if (((r >> i) << i) != r) push((r - 1) >> i);
        }

        S sml = e(), smr = e();
        while (l < r) {
            if (l & 1) sml = op(sml, d[l++]);
            if (r & 1) smr = op(d[--r], smr);
            l >>= 1;
            r >>= 1;
        }

        return op(sml, smr);
    }

    S all_prod() { return d[1]; }

    void apply(int p, F f) {
        assert(0 <= p && p < _n);
        p += size;
        for (int i = log; i >= 1; i--) push(p >> i);
        d[p] = mapping(f, d[p]);
        for (int i = 1; i <= log; i++) update(p >> i);
    }
    void apply(int l, int r, F f) {
        assert(0 <= l && l <= r && r <= _n);
        if (l == r) return;

        l += size;
        r += size;

        for (int i = log; i >= 1; i--) {
            if (((l >> i) << i) != l) push(l >> i);
            if (((r >> i) << i) != r) push((r - 1) >> i);
        }

        {
            int l2 = l, r2 = r;
            while (l < r) {
                if (l & 1) all_apply(l++, f);
                if (r & 1) all_apply(--r, f);
                l >>= 1;
                r >>= 1;
            }
            l = l2;
            r = r2;
        }

        for (int i = 1; i <= log; i++) {
            if (((l >> i) << i) != l) update(l >> i);
            if (((r >> i) << i) != r) update((r - 1) >> i);
        }
    }

    template <bool (*g)(S)> int max_right(int l) {
        return max_right(l, [](S x) { return g(x); });
    }
    template <class G> int max_right(int l, G g) {
        assert(0 <= l && l <= _n);
        assert(g(e()));
        if (l == _n) return _n;
        l += size;
        for (int i = log; i >= 1; i--) push(l >> i);
        S sm = e();
        do {
            while (l % 2 == 0) l >>= 1;
            if (!g(op(sm, d[l]))) {
                while (l < size) {
                    push(l);
                    l = (2 * l);
                    if (g(op(sm, d[l]))) {
                        sm = op(sm, d[l]);
                        l++;
                    }
                }
                return l - size;
            }
            sm = op(sm, d[l]);
            l++;
        } while ((l & -l) != l);
        return _n;
    }

    template <bool (*g)(S)> int min_left(int r) {
        return min_left(r, [](S x) { return g(x); });
    }
    template <class G> int min_left(int r, G g) {
        assert(0 <= r && r <= _n);
        assert(g(e()));
        if (r == 0) return 0;
        r += size;
        for (int i = log; i >= 1; i--) push((r - 1) >> i);
        S sm = e();
        do {
            r--;
            while (r > 1 && (r % 2)) r >>= 1;
            if (!g(op(d[r], sm))) {
                while (r < size) {
                    push(r);
                    r = (2 * r + 1);
                    if (g(op(d[r], sm))) {
                        sm = op(d[r], sm);
                        r--;
                    }
                }
                return r + 1 - size;
            }
            sm = op(d[r], sm);
        } while ((r & -r) != r);
        return 0;
    }

  private:
    int _n, size, log;
    std::vector<S> d;
    std::vector<F> lz;

    void update(int k) { d[k] = op(d[2 * k], d[2 * k + 1]); }
    void all_apply(int k, F f) {
        d[k] = mapping(f, d[k]);
        if (k < size) lz[k] = composition(f, lz[k]);
    }
    void push(int k) {
        all_apply(2 * k, lz[k]);
        all_apply(2 * k + 1, lz[k]);
        lz[k] = id();
    }
};

struct SplayTree {
  struct Node {
    int ch[2] = {0, 0}, p = 0;
    long long self = 0, path = 0;        // Path aggregates
    long long sub = 0, vir = 0;          // Subtree aggregates
    bool flip = 0;                       // Lazy tags
  };
  vector<Node> T;
 
  SplayTree(int n) : T(n + 1) {}
  
  void push(int x) {
    if (!x || !T[x].flip) return;
    int l = T[x].ch[0], r = T[x].ch[1];
 
    T[l].flip ^= 1, T[r].flip ^= 1;
    swap(T[x].ch[0], T[x].ch[1]);
    T[x].flip = 0;
  }
  
  void pull(int x) {
    int l = T[x].ch[0], r = T[x].ch[1]; push(l); push(r); 
 
    T[x].path = T[l].path + T[x].self + T[r].path;
    T[x].sub = T[x].vir + T[l].sub + T[r].sub + T[x].self;
  }
  
  void set(int x, int d, int y) {
    T[x].ch[d] = y; T[y].p = x; pull(x); 
  }
 
  void splay(int x) { 
    auto dir = [&](int x) {
      int p = T[x].p; if (!p) return -1;
      return T[p].ch[0] == x ? 0 : T[p].ch[1] == x ? 1 : -1;
    };
    auto rotate = [&](int x) {
      int y = T[x].p, z = T[y].p, dx = dir(x), dy = dir(y);
      set(y, dx, T[x].ch[!dx]); 
      set(x, !dx, y);
      if (~dy) set(z, dy, x); 
      T[x].p = z;
    };
    for (push(x); ~dir(x); ) {
      int y = T[x].p, z = T[y].p;
      push(z); push(y); push(x);
      int dx = dir(x), dy = dir(y);
      if (~dy) rotate(dx != dy ? x : y);
      rotate(x);
    }
  }
};
 
struct LinkCut : SplayTree {
  LinkCut(int n) : SplayTree(n) {}
 
  int access(int x) {
    int u = x, v = 0;
    for (; u; v = u, u = T[u].p) {
      splay(u); 
      int& ov = T[u].ch[1];
      T[u].vir += T[ov].sub;
      T[u].vir -= T[v].sub;
      ov = v; pull(u);
    }
    return splay(x), v;
  }
 
  void reroot(int x) { 
    access(x); T[x].flip ^= 1; push(x); 
  }
  
  void Link(int u, int v) { 
    reroot(u); access(v); 
    T[v].vir += T[u].sub;
    T[u].p = v; pull(v);
  }
  
  void Cut(int u, int v) {
    reroot(u); access(v);
    T[v].ch[0] = T[u].p = 0; pull(v);
  }
  
  // Rooted tree LCA. Returns 0 if u and v arent connected.
  int LCA(int u, int v) { 
    if (u == v) return u;
    access(u); int ret = access(v); 
    return T[u].p ? ret : 0;
  }
  
  // Query subtree of u where v is outside the subtree.
  long long Subtree(int u, int v) {
    reroot(v); access(u); return T[u].vir + T[u].self;
  }
  
  // Query path [u..v]
  long long Path(int u, int v) {
    reroot(u); access(v); return T[v].path;
  }
  
  // Update vertex u with value v
  void Update(int u, long long v) {
    access(u); T[u].self = v; pull(u);
  }
};


bool dfs(int a, int L, vector<vi>& g, vi& btoa, vi& A, vi& B) {
	if (A[a] != L) return 0;
	A[a] = -1;
	for (int b : g[a]) if (B[b] == L + 1) {
		B[b] = 0;
		if (btoa[b] == -1 || dfs(btoa[b], L + 1, g, btoa, A, B))
			return btoa[b] = a, 1;
	}
	return 0;
}

int hopcroftKarp(vector<vi>& g, vi& btoa) {
	int res = 0;
	vi A(g.size()), B(btoa.size()), cur, next;
	for (;;) {
		fill(range(A), 0);
		fill(range(B), 0);
		/// Find the starting nodes for BFS (i.e. layer 0).
		cur.clear();
		for (int a : btoa) if(a != -1) A[a] = -1;
		rep(a,sz(g)) if(A[a] == 0) cur.push_back(a);
		/// Find all layers using bfs.
		for (int lay = 1;; lay++) {
			bool islast = 0;
			next.clear();
			for (int a : cur) for (int b : g[a]) {
				if (btoa[b] == -1) {
					B[b] = lay;
					islast = 1;
				}
				else if (btoa[b] != a && !B[b]) {
					B[b] = lay;
					next.push_back(btoa[b]);
				}
			}
			if (islast) break;
			if (next.empty()) return res;
			for (int a : next) A[a] = lay;
			cur.swap(next);
		}
		/// Use DFS to scan for augmenting paths.
		rep(a,sz(g))
			res += dfs(a, 0, g, btoa, A, B);
	}
}



int dx[]={1,-1,0,0};
int dy[]={0,0,1,-1};
const int mod=998244353;
const int base[]={12321,32123};
const double EPS=1e-9;
const double pi=acos(-1);
const int INF=1e9;
const int N=1000007;
mt19937 rng(1235);

int modpow(int u,int v){
    int ans=1, t=u;
    while (v){
        if (v&1) ans=ans*t%mod;
        t=t*t%mod, v>>=1;
    }
    return ans;
}

// tuple<int,vi,vector<vi>> gauss(vector<vi> a)//sum = a[i][m]
// {
// 	int n=a.size(),m=a[0].size()-1,i,j,k,l,R=m;
// 	vi fix(m,-1);
// 	for (i=l=0;i<m;i++)
// 	{
// 		for (j=l;j<n;j++) if (a[j][i]) break;
// 		if (j==n) continue;
// 		fix[i]=l;--R;
// 		swap(a[l],a[j]);
// 		int x=modpow(a[l][i],mod-2);
// 		for (k=i;k<=m;k++) a[l][k]=(ll)a[l][k]*x%mod;
// 		for (auto &v:a) if (v.data()!=a[l].data())
// 		{
// 			x=mod-v[i];
// 			for (k=m;k>=i;k--) v[k]=(v[k]+(ll)x*a[l][k])%mod;
// 		}
// 		++l;
// 	}
// 	for (i=l;i<n;i++) if (a[i][m]) return {-1,{},{}};
// 	vi r(m);
// 	vector<vi> c;
// 	for (i=0;i<m;i++) if (fix[i]!=-1) r[i]=a[fix[i]][m];
// 	for (i=0;i<m;i++) if (fix[i]==-1)
// 	{
// 		vi r(m);
// 		r[i]=1;
// 		for (j=0;j<m;j++) if (fix[j]!=-1) r[j]=(mod-a[fix[j]][i])%mod;
// 		c.push_back(r);
// 	}
// 	return {R,r,c};
// }

int n,m;
string s[N];
int cnt[26];
signed main(){
  ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cin>>n>>m;
  rep(i,n) cin>>s[i];
  int ans=0;
  for (int i=0;i<m;++i){
    memset(cnt,0,sizeof(cnt));
    rep(j,n) cnt[s[j][i]-'a']++;
    int mx=0;
    rep(i,26) mx=max(mx,cnt[i]);
    ans+=n-mx;
  }
  cout<<ans<<"\n";
  return 0;
}


/*
5 14
helpiamtrapped
inanincfactory
forthreemonths
withoutfoodand
drinkandshower
*/

詳細信息

Test #1:

score: 100
Accepted
time: 15ms
memory: 35004kb

input:

6 4
calf
palm
book
icpc
ball
room

output:

14

result:

ok single line: '14'

Test #2:

score: 0
Accepted
time: 3ms
memory: 34912kb

input:

3 11
goodluckfor
icpcjakarta
contestants

output:

19

result:

ok single line: '19'

Test #3:

score: 0
Accepted
time: 11ms
memory: 34836kb

input:

5 14
helpiamtrapped
inanincfactory
forthreemonths
withoutfoodand
drinkandshower

output:

49

result:

ok single line: '49'

Test #4:

score: 0
Accepted
time: 4ms
memory: 34832kb

input:

2 1
o
o

output:

0

result:

ok single line: '0'

Test #5:

score: 0
Accepted
time: 8ms
memory: 34832kb

input:

40 6
xscwqh
djjjit
rguenl
hhxvjg
tnoyfq
ownyjt
asdzdz
slsbph
rdlksd
jpcjyx
bzaozh
dpgxfk
pozhhl
zkagxn
sihjxn
atqiiy
zwebxg
ilxcnj
ntkrnq
ysxfri
qrowho
dhwaqs
haljan
oxjcnk
dalixq
ahzfrd
cphsor
sykafq
lpzpvz
xarslv
rnqiau
xcolzn
jsuclf
vkoqxx
wqidkz
owqnjx
oodyrv
hzbxda
ceikgy
ohxepx

output:

214

result:

ok single line: '214'

Test #6:

score: 0
Accepted
time: 8ms
memory: 34932kb

input:

61 45
gxpedrilqbjsxgwblbnbmxetlxersnnhizajpmqjazzer
ihrfbypimkhqgxnljylpilzpdjcriqpvrkkazzjlsyqrv
gzoxytcshicdtbagdlgnwueyldicppytywbypzxkujfdt
rerxwaccmqpjgcezwxbhmmdmlnzzlcwbdmhlkgkbrdiws
kqjkaljprbqvxqrsinicvkukhisaotkcnpcsrqayxcrwx
aanykynujzejawnuvsjqfhcnchfacagdbnbfwjeboxuxl
xdifsllnhjbuktkyea...

output:

2485

result:

ok single line: '2485'

Test #7:

score: 0
Accepted
time: 4ms
memory: 34912kb

input:

72 49
mppvddwntczohpfodjzwuietolkuduevzrhtyubtlkdfazogc
zscsvefyvsbhwsktyiqjnjoqnxderweavrbkyudsembqdnovj
mynjgypbhfpveeegkjlpgkdgbmanhzmrsemtxzadeeicphwsj
igcbqvujkorzpaqdkumuvupnczaknpobvkssfguyqrghntgcs
zhbmyxgztyaugdtmnzcjkejeooravumkkfdhuusakuntrceva
eidpemasnvjmddwwnojtnsvzehwspjqkpffieymhjggp...

output:

3207

result:

ok single line: '3207'

Test #8:

score: 0
Accepted
time: 8ms
memory: 34820kb

input:

33 22
bsilkickfqgjfnjbdrtdie
dspzexblehklsoqgasuaiy
rsawkiayvzeerohwdbyupa
xrhcvcyhkjxnibikzyymfz
vyihzvwjxqoihffpnwrytg
ernvlffnoxhwnafqxqizpr
doqehgyvkbpafpwruvgnxv
bvtklcvtmzbwfqzcipeaup
bvbthqbdzervnpunrfelfp
wqisltkqbesoobrphzkgfk
khqoybrznukqcvmfewpzsq
yohlkqerwovtujbvoqgide
umflnhnpfamibqaawo...

output:

635

result:

ok single line: '635'

Test #9:

score: 0
Accepted
time: 9ms
memory: 34824kb

input:

79 90
ksmlllnmnthxulpmivvwbqxsteprtcpsueyllhaclavyjhdxrurfkpdzwaxaemavmgghuyoeevrqkumavmynjfxutv
leavuqnmltcuojumimqwdmxskessutzsquvlyhacntvnjsduhqrzrpdppixvemjemxgtnkoeqncqydiwcynsjviuts
ksmlhnpmntgpulwrnjqfdqhstisrynpmquuhliaqrtohyhecrizzjnipazlvmddvaxxtnylfcsjqkxpwcyqvdrxzyc
lelruqpmntglujwznvqfc...

output:

4765

result:

ok single line: '4765'

Test #10:

score: 0
Accepted
time: 8ms
memory: 34928kb

input:

80 86
mznirypdgjejjgdebcsqnfmwjakrecfanoqxkeasdjcxikjrznhfjnxigmgzkmswgrujgquxrnazusqdfqjozg
pywehnxkqyefeqtevxynsqjejfedglkgsomnsefzlfgdkqidsnhgqjxiaohofagjzjwjmiubdjfjhjcurhuchl
yvatruoklfeueoinmmsczhvgdfovgqpxveyxkexqiyxkiqidqihgrryoxmhgtpealzmtgqnydjmwuzdbahjxyw
glxkryteuyemfqddgmwknkjwdrjigwfhv...

output:

5700

result:

ok single line: '5700'

Test #11:

score: 0
Accepted
time: 14ms
memory: 35016kb

input:

68 97
tvwqmgmylvewycfkyuzhjurughmljtldcvpruvwfoixbaorptjbqszvthrkbphoxnyqvyliqgkbgaujxxqlgfuinhhzzjngfm
blazjgnimsfzcpfzsgsgnmojszmxlufcapejiuxcxcoqichvwvwzknstqjwlvfzeuztbdnudvisjejswcgagfynnbjwnopiff
tqzctklohhxxcdhkkkshhfzpovwsozkobdstcipcnsesdppgoyqhryfwdbqlrhbrotuhuxstigohjiwqhircfaqndmiyjbqhf
...

output:

5738

result:

ok single line: '5738'

Test #12:

score: 0
Accepted
time: 15ms
memory: 34964kb

input:

70 90
olkfdsmscwiudgkrpcbyeueodkgzzsmuzlsjofikpjcnkytvewxhbstpttfcjlexegrnykzrevbtwshgmnuowlkevi
iirotttercrqsjcpljzmoibiebsuwebxmpxsofoxbooxmnfcemnvkapnejjzllvpykvhjwqnlyaoyluddcjoqpuila
owwgfhfrscjmiwkjbrbulkququggzlbvykijefxttzupgusctilhfltoktcxlnsxmgzhgvdvtxifadqkzcdzpfibix
jwrsfsanswddticrbctai...

output:

5235

result:

ok single line: '5235'

Test #13:

score: 0
Accepted
time: 9ms
memory: 34924kb

input:

100 100
ababaabbbbaababbbbaaabaabaaaaabbaabbabbabbbbaaabbbbbaaabaaabababababaaabbabbbbbaaaababaaaaaaabaaabaa
aabbbabbabababbabababaaaabaabbaabbababbbabbbbbaaabbbbaababbabbbaabaaabbabaabbabbbaabbbaaabaabaabbaab
bbabababaaababbabbaaababbaabababbbabaabbbbbaaababbaaabbabaaabaaaaababbaaababababaaaabbabab...

output:

4578

result:

ok single line: '4578'

Test #14:

score: 0
Accepted
time: 17ms
memory: 34844kb

input:

100 100
dftpeaalqzhuzuoxrkkhbyaqndxzortumgjmjdojaoskobvsdugktgerdoprqjtqwkaohhakthlqweypmpqvmtfaipmczbkvlgst
xzyzpsmokvfetzmfzsqbpddftllfatehxjbrgapygjigfukjljchxcjskpyzxqxaymhauiyniyoawzpxtrxcmznobapvifjhjpwd
iysrdibtmwkvypfuwetqcjqhpdobbaxwtrprdpgjwjlhfijscmwthclmzklapeqcfjwsuqspimocrojfywefnvsooj...

output:

9171

result:

ok single line: '9171'

Test #15:

score: 0
Accepted
time: 14ms
memory: 34916kb

input:

2 1
s
u

output:

1

result:

ok single line: '1'

Test #16:

score: 0
Accepted
time: 3ms
memory: 35020kb

input:

100 100
xescvdcxudqumidmdgmnqfbxfviejvftmqviopofscbjyzkiabytowlqsquyhkqhrhpbbabbefvbjtviysgjfgaiucyhcthcbzos
ydnjpfxymdnavjdyoubnffjqukxrzvnrivcjiycfewvbzduwbnywgggweajqurovufxyuuwremmavxhkrvixgkcbicyhrnhvtgqm
lzxuvuvnnvcikhrlbemgqoonynsxozaxavdiunotmkqcfzyywcwtmywcqaerirugbgciwezpnudnjlkiyyaautsjgw...

output:

7883

result:

ok single line: '7883'

Test #17:

score: 0
Accepted
time: 7ms
memory: 34928kb

input:

100 100
axdiqbkcxgwawvubkmufqocdphkwviishvdmmoqnxjpzkdjukmxzdokrwhxucksfmprqukxtqzjoagiuuxkmgcpxcmuktrqmfowk
azafqbkwjgqxwvubkaufqxtiwlkmvisshfdeqttfbjpkddjuemenvokrmhjhyiqfyprqekyzqzjoskgbuxkmbgpwkmukksmkkowl
awdiqbkwrgwxwvujuaugqociwlkmkpiyhnsmquvnbvpwuhevymeedokrwhxuzkqwmprsukyzqojmakoumfkrdcpxkm...

output:

2976

result:

ok single line: '2976'

Test #18:

score: 0
Accepted
time: 9ms
memory: 34808kb

input:

100 100
cbhpdvssjrpqjmavmejyvuujnhfmuvorrysrcwjaupwvcdcpscxfitcfshkpzrxecfleylgxrifofqqgobsrjddnppzxnsajvuvi
cdhpdvsbfrpijmavmfjyvuujnhfmuvyhrysccwjwdpwvadcpscbeitcfshkphqxehfleylgtrifofqdgobsrfddeppzxgfgjvuvi
cbhpdvsbjrpijmamsfjyvuujnhfmuvohrssrcvmadhwkadzpxcbgitcfshkpzrxecfleylgtrkfofqqgobspfddncp...

output:

1013

result:

ok single line: '1013'

Test #19:

score: 0
Accepted
time: 4ms
memory: 34852kb

input:

100 100
rrjtosvogmeeroxcuwcqfeokysmojwaqykozyowbzshirekmzmihvwfvofmcwsoggamybhfkctfdsutistyfrfwkmbqdvzeukerl
rrjtosvogmeeroxcuwcqfeokysmojwaqykozyowbzshirekmzmiuvwfvofmcwsoggamybhfkctfdsubistyfrfwkmbqdvkeukerl
rrjtosvogmeeroxcuwcqfeokysmojwaqykozyowbzshirekmzmiuvwfvofmcwsoggamybhfkctfdsutistyfrfwkmb...

output:

106

result:

ok single line: '106'

Test #20:

score: 0
Accepted
time: 9ms
memory: 34800kb

input:

100 100
nzebhdezrjnhrjxhhwqmjftcoxhsevtmobtlaaehhgpwxfyzieoujqsllvfacacroiwwaonefqftvoskhcuianvsgoxilyqhjwbn
nzebhdezrjnhrjxhhwqmjftcoxhsevtmobtlaaehhgpwxfyzieoujqsllvfacacroiwwaonefqftvoskhcuianvsgoxilyqhjwbn
nzebhdezrjnhrjxhhwqmjftcoxhsevtmobtlaaehhgpwxfyzieoujqsllvfacacroiwwaonefqftvoskhcuianvsgo...

output:

0

result:

ok single line: '0'

Test #21:

score: 0
Accepted
time: 4ms
memory: 35004kb

input:

100 100
bomfenhyqlngsltnxklncetcdmifzltzbsxfhkvdfdtcdaltonyauxdwxpjupetfpggncddbtvsxobfosfequlptqcpinqaxtqgu
fyiqiadjkflwmnielpjpvaonmdhaoycbfyeqdnmjlbhffdzbeflnttefhtgegwqdkurfumvlfpnoprxhzeobddsveiluxfxysnas
mqcrdvfbnqwevgbzwidatimstssdkxrdwoakyxrnsejgazpxxscwwjwbfgahzvnefsdrxvhpanitchysmxjfkgflag...

output:

9600

result:

ok single line: '9600'

Test #22:

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

input:

3 2
xy
uy
ux

output:

2

result:

ok single line: '2'

Test #23:

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

input:

10 5
ccded
ececd
dbcbe
aebbc
deccc
beeab
adabe
edaee
ecdec
cddad

output:

35

result:

ok single line: '35'

Test #24:

score: 0
Accepted
time: 12ms
memory: 34840kb

input:

2 100
qpdnytnckmgeutlfodaiqdpfqkyxrljplxscbzrqrefjdtipjioalqzycqfqezqpgkmmgqeicrridufyjrvacqvrczzwmnzbplta
blhzdjhmdriwkxbfsoowgnnxcxocyhiarvdqsvhgekpoaevjadrohsthzlgtokpxoqfxyrllwzsdhtvkkrwgpiwzspsrnnyfqklq

output:

97

result:

ok single line: '97'

Test #25:

score: 0
Accepted
time: 11ms
memory: 34776kb

input:

2 100
ecvdqsgbmmqakcalgandcuvooxraxthgjhdjdgtghjtowcwcbkvnqxusafauizhcwzjojlyrtepmiqroadkhbkbwrkrnxtaxhmuk
ecvdqsfgmmqawfalqlndcuvgoxgaxthgjhdjdvsmhjfowcwabkvyqyusafhurpxbwzjojlyitepmihroadkhplbwnkrnptaxhmuk

output:

26

result:

ok single line: '26'

Test #26:

score: 0
Accepted
time: 9ms
memory: 35000kb

input:

100 1
y
m
y
s
u
m
q
s
w
m
h
v
w
f
q
u
a
z
j
w
d
u
z
z
m
t
m
a
q
h
j
k
d
l
v
h
e
k
n
d
f
z
c
k
w
o
z
i
y
u
x
k
u
j
i
k
c
h
k
u
g
y
d
i
b
y
s
a
a
n
u
h
d
w
c
g
c
r
r
v
g
l
k
t
o
v
w
j
s
c
h
g
d
p
b
m
h
m
g
l

output:

93

result:

ok single line: '93'

Test #27:

score: 0
Accepted
time: 9ms
memory: 34904kb

input:

100 1
y
c
y
c
k
x
y
x
k
u
y
c
u
u
c
c
x
c
k
c
c
x
u
x
u
y
u
x
k
x
u
u
c
y
k
u
c
c
y
u
y
y
k
x
y
y
y
k
u
c
y
u
c
y
y
y
u
y
u
c
c
x
y
u
x
x
u
k
u
u
u
k
y
y
u
y
k
k
u
y
k
c
k
x
u
k
y
c
y
c
y
x
c
c
u
c
c
x
c
u

output:

75

result:

ok single line: '75'

Test #28:

score: 0
Accepted
time: 8ms
memory: 34920kb

input:

2 80
iyglnpywolcyqowvexzvcecqqkybyllgswtahydjljkanevknyrcpycwclbicggpvananlqbogafpgud
jamdzqgzjzbkievqumqzjbiuuhbgrrjgqrynwlmolhvstkljzvjykbtgljyvgzjzsxxhdzggfcmyxgjr

output:

77

result:

ok single line: '77'