QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#755467#9558. The Devilucup-team3586#AC ✓6183ms306576kbC++2315.2kb2024-11-16 17:25:532024-11-16 17:25:54

Judging History

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

  • [2024-11-16 17:25:54]
  • 评测
  • 测评结果:AC
  • 用时:6183ms
  • 内存:306576kb
  • [2024-11-16 17:25:53]
  • 提交

answer

#include<bits/stdc++.h>
//ATCoder Lib
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native")
namespace atcoder {
 
namespace internal {
 
template <class T> struct simple_queue {
    std::vector<T> payload;
    int pos = 0;
    void reserve(int n) { payload.reserve(n); }
    int size() const { return int(payload.size()) - pos; }
    bool empty() const { return pos == int(payload.size()); }
    void push(const T& t) { payload.push_back(t); }
    T& front() { return payload[pos]; }
    void clear() {
        payload.clear();
        pos = 0;
    }
    void pop() { pos++; }
};
 
template <class E> struct csr {
    std::vector<int> start;
    std::vector<E> elist;
    explicit csr(int n, const std::vector<std::pair<int, E>>& edges)
        : start(n + 1), elist(edges.size()) {
        for (auto e : edges) {
            start[e.first + 1]++;
        }
        for (int i = 1; i <= n; i++) {
            start[i] += start[i - 1];
        }
        auto counter = start;
        for (auto e : edges) {
            elist[counter[e.first]++] = e.second;
        }
    }
};
 
}  // namespace internal
 
template <class Cap, class Cost> struct mcf_graph {
  public:
    mcf_graph() {}
    explicit mcf_graph(int n) : _n(n) {}
 
    int add_edge(int from, int to, Cap cap, Cost cost) {
        assert(0 <= from && from < _n);
        assert(0 <= to && to < _n);
        assert(0 <= cap);
        assert(0 <= cost);
        int m = int(_edges.size());
        _edges.push_back({from, to, cap, 0, cost});
        return m;
    }
 
    struct edge {
        int from, to;
        Cap cap, flow;
        Cost cost;
    };
 
    edge get_edge(int i) {
        int m = int(_edges.size());
        assert(0 <= i && i < m);
        return _edges[i];
    }
    std::vector<edge> edges() { return _edges; }
 
    std::pair<Cap, Cost> flow(int s, int t) {
        return flow(s, t, std::numeric_limits<Cap>::max());
    }
    std::pair<Cap, Cost> flow(int s, int t, Cap flow_limit) {
        return slope(s, t, flow_limit).back();
    }
    std::vector<std::pair<Cap, Cost>> slope(int s, int t) {
        return slope(s, t, std::numeric_limits<Cap>::max());
    }
    std::vector<std::pair<Cap, Cost>> slope(int s, int t, Cap flow_limit) {
        assert(0 <= s && s < _n);
        assert(0 <= t && t < _n);
        assert(s != t);
 
        int m = int(_edges.size());
        std::vector<int> edge_idx(m);
 
        auto g = [&]() {
            std::vector<int> degree(_n), redge_idx(m);
            std::vector<std::pair<int, _edge>> elist;
            elist.reserve(2 * m);
            for (int i = 0; i < m; i++) {
                auto e = _edges[i];
                edge_idx[i] = degree[e.from]++;
                redge_idx[i] = degree[e.to]++;
                elist.push_back({e.from, {e.to, -1, e.cap - e.flow, e.cost}});
                elist.push_back({e.to, {e.from, -1, e.flow, -e.cost}});
            }
            auto _g = internal::csr<_edge>(_n, elist);
            for (int i = 0; i < m; i++) {
                auto e = _edges[i];
                edge_idx[i] += _g.start[e.from];
                redge_idx[i] += _g.start[e.to];
                _g.elist[edge_idx[i]].rev = redge_idx[i];
                _g.elist[redge_idx[i]].rev = edge_idx[i];
            }
            return _g;
        }();
 
        auto result = slope(g, s, t, flow_limit);
 
        for (int i = 0; i < m; i++) {
            auto e = g.elist[edge_idx[i]];
            _edges[i].flow = _edges[i].cap - e.cap;
        }
 
        return result;
    }
 
  private:
    int _n;
    std::vector<edge> _edges;
 
    // inside edge
    struct _edge {
        int to, rev;
        Cap cap;
        Cost cost;
    };
 
    std::vector<std::pair<Cap, Cost>> slope(internal::csr<_edge>& g,
                                            int s,
                                            int t,
                                            Cap flow_limit) {
        // variants (C = maxcost):
        // -(n-1)C <= dual[s] <= dual[i] <= dual[t] = 0
        // reduced cost (= e.cost + dual[e.from] - dual[e.to]) >= 0 for all edge
 
        // dual_dist[i] = (dual[i], dist[i])
        std::vector<std::pair<Cost, Cost>> dual_dist(_n);
        std::vector<int> prev_e(_n);
        std::vector<bool> vis(_n);
        struct Q {
            Cost key;
            int to;
            bool operator<(Q r) const { return key > r.key; }
        };
        std::vector<int> que_min;
        std::vector<Q> que;
        auto dual_ref = [&]() {
            for (int i = 0; i < _n; i++) {
                dual_dist[i].second = std::numeric_limits<Cost>::max();
            }
            std::fill(vis.begin(), vis.end(), false);
            que_min.clear();
            que.clear();
 
            // que[0..heap_r) was heapified
            size_t heap_r = 0;
 
            dual_dist[s].second = 0;
            que_min.push_back(s);
            while (!que_min.empty() || !que.empty()) {
                int v;
                if (!que_min.empty()) {
                    v = que_min.back();
                    que_min.pop_back();
                } else {
                    while (heap_r < que.size()) {
                        heap_r++;
                        std::push_heap(que.begin(), que.begin() + heap_r);
                    }
                    v = que.front().to;
                    std::pop_heap(que.begin(), que.end());
                    que.pop_back();
                    heap_r--;
                }
                if (vis[v]) continue;
                vis[v] = true;
                if (v == t) break;
                // dist[v] = shortest(s, v) + dual[s] - dual[v]
                // dist[v] >= 0 (all reduced cost are positive)
                // dist[v] <= (n-1)C
                Cost dual_v = dual_dist[v].first, dist_v = dual_dist[v].second;
                for (int i = g.start[v]; i < g.start[v + 1]; i++) {
                    auto e = g.elist[i];
                    if (!e.cap) continue;
                    // |-dual[e.to] + dual[v]| <= (n-1)C
                    // cost <= C - -(n-1)C + 0 = nC
                    Cost cost = e.cost - dual_dist[e.to].first + dual_v;
                    if (dual_dist[e.to].second - dist_v > cost) {
                        Cost dist_to = dist_v + cost;
                        dual_dist[e.to].second = dist_to;
                        prev_e[e.to] = e.rev;
                        if (dist_to == dist_v) {
                            que_min.push_back(e.to);
                        } else {
                            que.push_back(Q{dist_to, e.to});
                        }
                    }
                }
            }
            if (!vis[t]) {
                return false;
            }
 
            for (int v = 0; v < _n; v++) {
                if (!vis[v]) continue;
                // dual[v] = dual[v] - dist[t] + dist[v]
                //         = dual[v] - (shortest(s, t) + dual[s] - dual[t]) +
                //         (shortest(s, v) + dual[s] - dual[v]) = - shortest(s,
                //         t) + dual[t] + shortest(s, v) = shortest(s, v) -
                //         shortest(s, t) >= 0 - (n-1)C
                dual_dist[v].first -= dual_dist[t].second - dual_dist[v].second;
            }
            return true;
        };
        Cap flow = 0;
        Cost cost = 0, prev_cost_per_flow = -1;
        std::vector<std::pair<Cap, Cost>> result = {{Cap(0), Cost(0)}};
        while (flow < flow_limit) {
            if (!dual_ref()) break;
            Cap c = flow_limit - flow;
            for (int v = t; v != s; v = g.elist[prev_e[v]].to) {
                c = std::min(c, g.elist[g.elist[prev_e[v]].rev].cap);
            }
            for (int v = t; v != s; v = g.elist[prev_e[v]].to) {
                auto& e = g.elist[prev_e[v]];
                e.cap += c;
                g.elist[e.rev].cap -= c;
            }
            Cost d = -dual_dist[s].first;
            flow += c;
            cost += c * d;
            if (prev_cost_per_flow == d) {
                result.pop_back();
            }
            result.push_back({flow, cost});
            prev_cost_per_flow = d;
        }
        return result;
    }
};
 
}
namespace atcoder {
 
template <class Cap> struct mf_graph {
  public:
    mf_graph() : _n(0) {}
    explicit mf_graph(int n) : _n(n), g(n) {}
 
    int add_edge(int from, int to, Cap cap) {
        assert(0 <= from && from < _n);
        assert(0 <= to && to < _n);
        assert(0 <= cap);
        // printf("%d %d %d\n",from,to,cap);
        int m = int(pos.size());
        pos.push_back({from, int(g[from].size())});
        int from_id = int(g[from].size());
        int to_id = int(g[to].size());
        if (from == to) to_id++;
        g[from].push_back(_edge{to, to_id, cap});
        g[to].push_back(_edge{from, from_id, 0});
        return m;
    }
 
    struct edge {
        int from, to;
        Cap cap, flow;
    };
 
    edge get_edge(int i) {
        int m = int(pos.size());
        assert(0 <= i && i < m);
        auto _e = g[pos[i].first][pos[i].second];
        auto _re = g[_e.to][_e.rev];
        return edge{pos[i].first, _e.to, _e.cap + _re.cap, _re.cap};
    }
    std::vector<edge> edges() {
        int m = int(pos.size());
        std::vector<edge> result;
        for (int i = 0; i < m; i++) {
            result.push_back(get_edge(i));
        }
        return result;
    }
    void change_edge(int i, Cap new_cap, Cap new_flow) {
        int m = int(pos.size());
        assert(0 <= i && i < m);
        assert(0 <= new_flow && new_flow <= new_cap);
        auto& _e = g[pos[i].first][pos[i].second];
        auto& _re = g[_e.to][_e.rev];
        _e.cap = new_cap - new_flow;
        _re.cap = new_flow;
    }
 
    Cap flow(int s, int t) {
        return flow(s, t, std::numeric_limits<Cap>::max());
    }
    Cap flow(int s, int t, Cap flow_limit) {
        assert(0 <= s && s < _n);
        assert(0 <= t && t < _n);
        assert(s != t);
 
        std::vector<int> level(_n), iter(_n);
        internal::simple_queue<int> que;
 
        auto bfs = [&]() {
            std::fill(level.begin(), level.end(), -1);
            level[s] = 0;
            que.clear();
            que.push(s);
            while (!que.empty()) {
                int v = que.front();
                que.pop();
                for (auto e : g[v]) {
                    if (e.cap == 0 || level[e.to] >= 0) continue;
                    level[e.to] = level[v] + 1;
                    if (e.to == t) return;
                    que.push(e.to);
                }
            }
        };
        auto dfs = [&](auto self, int v, Cap up) {
            if (v == s) return up;
            Cap res = 0;
            int level_v = level[v];
            for (int& i = iter[v]; i < int(g[v].size()); i++) {
                _edge& e = g[v][i];
                if (level_v <= level[e.to] || g[e.to][e.rev].cap == 0) continue;
                Cap d =
                    self(self, e.to, std::min(up - res, g[e.to][e.rev].cap));
                if (d <= 0) continue;
                g[v][i].cap += d;
                g[e.to][e.rev].cap -= d;
                res += d;
                if (res == up) return res;
            }
            level[v] = _n;
            return res;
        };
 
        Cap flow = 0;
        while (flow < flow_limit) {
            bfs();
            if (level[t] == -1) break;
            std::fill(iter.begin(), iter.end(), 0);
            Cap f = dfs(dfs, t, flow_limit - flow);
            if (!f) break;
            flow += f;
        }
        return flow;
    }
 
    std::vector<bool> min_cut(int s) {
        std::vector<bool> visited(_n);
        internal::simple_queue<int> que;
        que.push(s);
        while (!que.empty()) {
            int p = que.front();
            que.pop();
            visited[p] = true;
            for (auto e : g[p]) {
                if (e.cap && !visited[e.to]) {
                    visited[e.to] = true;
                    que.push(e.to);
                }
            }
        }
        return visited;
    }
 
  private:
    int _n;
    struct _edge {
        int to, rev;
        Cap cap;
    };
    std::vector<std::pair<int, int>> pos;
    std::vector<std::vector<_edge>> g;
};
 
}
using namespace atcoder;
using namespace std;
inline int read(){
   int s=0,w=1;
   char ch=getchar();
   while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
   while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
   return s*w;
}
string curtoken,a[1<<20];
int len;
bool readtoken()
{
	curtoken="";
	char c=getchar();
	while(!islower(c)&&!isupper(c)) c=getchar();
	while(1)
	{
		if(islower(c)||isupper(c)) curtoken+=c;
		else if(c==' ')
		{
			a[++len]=curtoken;
			return 1;
		}
		else
		{
			a[++len]=curtoken;
			return 0;
		}c=getchar();
	}
}
int n=read(),m=n+2;
mcf_graph<int,int> G(1e6);
map<string,int> mp;
int S=n+1,T=n+2;
string arr[100003];
int tr[1<<23][52],dep[1<<23],fa[1<<23],cnt;
char fr[1<<23];
string ans[1003];
int instrans(int x,char c)
{
	int o=c-'a';
	if(isupper(c)) o=c-'A'+26;
	if(!tr[x][o]) tr[x][o]=++cnt,fr[cnt]=c,
	dep[cnt]=dep[x]+1,fa[cnt]=x;
	return tr[x][o];
}
int Hash(int pt)
{
	string s;
	while(pt>1)
	{
		s.push_back(fr[pt]);
		pt=fa[pt];
	}
	reverse(s.begin(),s.end());
	if(!mp.count(s))
	{
		mp[s]=++m;
		arr[m]=s;
		G.add_edge(m,T,1,s.size());
	}
	return mp[s];
}
vector<int> nodes[133][258];
int last[1<<23],curver,last1[1<<23];
signed main()
{
	for(int i=1; i<=n; ++i)
		G.add_edge(S,i,1,0);
	// puts("QAQ");
	for(int id=1; id<=n; ++id)
	{
		for(int j=2; j<=cnt; ++j)
		{
			char c=fr[j];
			int o=c-'a';
			if(isupper(c)) o=c-'A'+26;
			tr[fa[j]][o]=0;
		}
		cnt=1;
		// sz=0;
		len=0;
		while(readtoken());
		for(int j=1; j<=len+1; ++j)
			for(int k=0; k<=256; ++k)
				nodes[j][k].clear();
		nodes[1][0].push_back(1);
		for(int j=1; j<=len+1; ++j)
		{
			++curver;
			int remain=128;
			for(int k=0; remain&&k<=256; ++k)
			{
				int cap=256;
				if(j<=len)
				{
					int rem=128;
					for(int l=0; l<=256; ++l)
					{
						rem-=nodes[j+1][l].size();
						if(rem<=0){cap=l-1;break;}
					} 
				}
				for(int l:nodes[j][k])
				{
					// printf("node %d\n",l);
					int o=l;
					if(j==len+1)
					{
						// printf("%d %d\n",id,o);
						G.add_edge(id,Hash(o),1,0);
					}
					else{
					for(char ii:a[j])
					{
						// i.cur.push_back(ii);
						o=instrans(o,ii);
						if(dep[o]<=cap)
						{
							if(last[o]!=curver)
								last[o]=curver,
								nodes[j+1][dep[o]].push_back(o);
						}
						else break;
					}}
					--remain;
					if(remain==0) break;
				}
			}
		}
	}
	// return 0;
	// printf("%d\n",m);
	auto [flow,cost]=G.flow(S,T);
	// printf("%d\n",cost);
	// printf("%d\n",flow);
	if(flow!=n) puts("no solution"),exit(0);
	auto it=G.edges();
	for(auto i:it)
		if(i.to>n+2&&i.flow)
			ans[i.from]=arr[i.to];
	for(int i=1; i<=n; ++i)
		cout<<ans[i]<<endl;
	return 0;
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 28ms
memory: 59368kb

input:

5
automated teller machine
active teller machine
active trouble maker
always telling misinformation
American Teller Machinery

output:

autm
actm
atrm
atm
ATM

result:

ok len=18

Test #2:

score: 0
Accepted
time: 32ms
memory: 60152kb

input:

5
Forest Conservation Committee Forum
Fuming Corruption Collusion Federation
Fulsome Cash Concealment Foundation
Funky Crony Capitalism Facilitator
Funny Cocky Cocky Funny

output:

FoCCF
FuCCF
FCaCF
FCrCF
FCCF

result:

ok len=24

Test #3:

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

input:

3
A AA
AA A
A A A

output:

no solution

result:

ok len=-1

Test #4:

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

input:

2
QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmertyuiop
Q W E R T Y U I O P A S D F G H J K L Z X C V B N M q w e r t y u i o p a s d f g h j k l z x c v b n m j k l z x c v b n m

output:

Q
QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmjklzxcvbnm

result:

ok len=63

Test #5:

score: 0
Accepted
time: 61ms
memory: 59108kb

input:

10
aaa aaa aaa aaa aaa aaa
aab aaa aaa aaa aaa aaa
aaa aab aaa aaa aaa aaa
aab aab aaa aaa aaa aaa
a a a a a a
ab ab a a a a a a
ab ab b a a a a a a
aw a a a a a
az az a a a a
az a a a a a

output:

aaaaaaaaa
aabaaaaa
aaabaaaa
aaaaaaa
aaaaaa
aaaaaaaa
aabaaaaaa
awaaaaa
aazaaaa
azaaaaa

result:

ok len=76

Test #6:

score: 0
Accepted
time: 1404ms
memory: 61320kb

input:

128
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...

output:

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...

result:

ok len=24512

Test #7:

score: 0
Accepted
time: 1396ms
memory: 64952kb

input:

128
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
cccccccccccccccccccccccccccccccccccccccccc...

result:

ok len=16534

Test #8:

score: 0
Accepted
time: 911ms
memory: 62020kb

input:

128
zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...

output:

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zAzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zAAzzzzzzzzz...

result:

ok len=17624

Test #9:

score: 0
Accepted
time: 1047ms
memory: 73436kb

input:

128
abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a...

output:

abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
cdcccccccccccccccccccccccccccccccccccccc...

result:

ok len=16460

Test #10:

score: 0
Accepted
time: 1135ms
memory: 68876kb

input:

128
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccc...

result:

ok len=16384

Test #11:

score: 0
Accepted
time: 120ms
memory: 166476kb

input:

10
AoenrfWTxhAiSipaV cJGloMoCBombqBsVuorNWL gqrmsIZGthdBIvNPWjTGgssBfbctzPCvCmMJWN MDYvQBZCaCmwSFnvQOmolkTmwWgysKuVmByj EOwjzBEgECXizqAZukRFAxdvrRhsGcIzQsFUMcXw mVNxPkaPPKUZEpswrhOqJerzhvfVwcNoDceNZPaskxTEhlGCMIoSqvAg JCPAAkYZoGOxpFNCj tsNvJHyeVCZqOHKzVsLoMnprENEmGSSxFGDDOafIIMVAbUtUIkAqmnrXUnWWfkAl...

output:

AcgMEmJtQnptFcoksenMLQXoWgmMEMuxBJYTcICgaVNaTfoyuAvDOAnedNDDPPPwIGaDOnjIlUvbJTVVQFLk
HvApbVGYRBPuNjNkipYlWgO
ScgzHNitvtRoLuUisITjuWCLGelWKqYoIAnAmIWTLOeMVHndqytXTd
UBSuhtoimhfhdKivdyCqJxSbtnocRCEKicArQJKnRagqrJfNHY
WqlPqHsSnpHcIfqCalIrqubIpBXqTVRBOYYQqRCQqJzyHRbbSCLzxsXOzNxSxSXcPhfHkNKClKWBJbg
iLqfr...

result:

ok len=660

Test #12:

score: 0
Accepted
time: 666ms
memory: 186804kb

input:

64
AQLPmEKRHtLKaVeVgUBkYfECFrvhbsXorapjINwkXhyCmkexRIVAZTsXaOihheHjstls AiIegrwbTMbBFdDQHGMgyOahunXRrySnKEmfKXQkpWdtNpGdgdBtPGfdcdnUvEqkfmvmSRzevtZkhPzjhDhTVLQCbaozNEXlqUgHeRshchY SFwbzOhRAEybYCGswuldoWkKloHghqiDybxtJPdzAWjmqxw mcRhokiMnxgAucSnasFcEXpZdEGEGzEGaEBAfGNEQAgQSTFKrMvxoUZTDKQMHksaciHoYXih...

output:

AASmGWIMEJjHHnPlYRcjfOMPuKTjbyRxHmnMcJSXFigHUqxClyINhlMPJgLAZRXFEOGWcCIQvqaYBIhOPkeUVWKHJYow
CJenkhWcPeucbfOFBHxSdYqLgftApMsctvFlfKkZmavIfqWYNZpZKJKYPwMSuvaSubelMSQKFIymAZoMLIOqoHGlIbOAp
CejoeafHpVdTXKhgDGCAFivwKoSTwwBUDBdXYMWNlUBUttHXemMOHwlBiaqRUwYTIPqJvpowUFTSkqyAywInGlWgMfYXuFrw
DkivKkaYITyXOOVF...

result:

ok len=3658

Test #13:

score: 0
Accepted
time: 2810ms
memory: 193940kb

input:

128
kfiaaudafulirmameczaaaaaaaaaaaaaaaaaaaaaaaaagaaaajaaaaaalaaqoaaa f i a a u d a f u l i r m a m e c z a a a a a a a a a a a a a a a a a a a a a a a a a g a a a a j a a a a a a l a a q o a a a
aaaoqaalaaaaaajaaaagaaaaaaaaaaaaaaaaaaaaaaaaazcemamrilufaduaaifk a a o q a a l a a a a a a j a a a a g a ...

output:

kfiaaudafulirmameczaaaaaaaaaaaaaaaaaaaaaaaaagaaaajaaaaaalaaqoaaa
aaaoqaalaaaaaajaaaagaaaaaaaaaaaaaaaaaaaaaaaaazcemamrilufaduaaifk
aoajcnjaaicamaaaahyaaaaaaaaaaaaaaaaaaaaaaaaabaazasvaeaavcaaaajak
kajaaaacvaaeavsazaabaaaaaaaaaaaaaaaaaaaaaaaaayhaaaamaciaajncjaoa
akkggaaaaumaiwaqawgaaaaaaaaaaaaaaaaaaaaa...

result:

ok len=14640

Test #14:

score: 0
Accepted
time: 871ms
memory: 65016kb

input:

128
a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaZ a aaaaaaaaaaaaaaaZ aaaaaaaaaaaaab aaaaaaaaaaaaab aaaaaaaaaaaaaaaZ aaaaaaaaaaaaab a aaaaaaaaaaaaaz aaaaaaaaaaaaaaaZ aaaaaaaaaaaaab aaaaaaaaaaaaaz a aaaaaaaaaaaaab aaaaaaaaaaa...

output:

aaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaazaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa...

result:

ok len=17957

Test #15:

score: 0
Accepted
time: 952ms
memory: 63784kb

input:

128
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZz Z ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZb ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZWZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZbZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQQZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZbZZZZZ ZZZZZ...

output:

ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZzZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZzZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ...

result:

ok len=20417

Test #16:

score: 0
Accepted
time: 962ms
memory: 64820kb

input:

128
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZWZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZb ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQQZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQQZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZb ZZZZZZZZZ...

output:

ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZzZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZzZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ...

result:

ok len=20417

Test #17:

score: 0
Accepted
time: 861ms
memory: 59584kb

input:

128
p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p
p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p
p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p ...

output:

pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
ppppppppppppppppppppppppppppppppppppppppppppp
ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
p...

result:

ok len=8256

Test #18:

score: 0
Accepted
time: 332ms
memory: 67472kb

input:

64
Hash Objects
The following values are provided as constant attributes of the hash objects returned by the constructors
hash digest size
The size of the resulting hash in bytes
hash block size
The internal block size of the hash algorithm in bytes
A hash object has the following attributes
hash na...

output:

HO
Tfvapacaothorbtc
hds
Tsotrhib
hbs
Tibsothaib
Ahohtfa
hn
Tcnothalaasaaptntcahott
CivTnahbpiCsiibuPwnfssmneosp
Ahohtfm
hud
UthowtbloRcaetascwtcoatamuamubietmuab
hd
RtdotdpttumsfTiaboosdswmcbitwrft
hah
LdetdiraasoodlcohdTmbutetvsieoonbe
hc
RaccothoTcbutectdodsacis
Svld
hsduT
TsasapvldwlibutobosAstdm...

result:

ok len=968

Test #19:

score: 0
Accepted
time: 316ms
memory: 63564kb

input:

62
Invocation
Manage access Packages Issues Invocations Solution files Stresses Tests Validator Checker Files Statement General info View Problems Contest
Back to invocations
Rejudge
Set solutions tags
n cpp n break cpp n log cpp n log removeset cpp n noclear cpp n spfa cpp n spfa py py n spfa pypy ...

output:

I
MaPIISfSTVCFSGiVPC
Bti
Re
Sst
ncnbcnlcnlrcnncnscnsppnsppnsvcncnsc
OOOOOOOOOOO
OOOOOOOOWOO
OOOOOOTOOTT
OOOOOOTOOOO
OOOOOOTOWTT
OOOOOOTOWOO
pt
mmMmMmMmMmMmMmMmMmMmMmM
Cwasstspawmtmahwlbc
IsctehoTosgTagOidTtccihwoc
Ctol
nmvhmvh
cbn
vn
vp
nmivhmtavdvnhmavoalotfti
nmvhmtavdvnhmavoalotfti
Ffhmttiatwhtsf...

result:

ok len=436

Test #20:

score: 0
Accepted
time: 319ms
memory: 63516kb

input:

64
Resource Files
New File Add Files
Name Length Modified
Actions
Delete Download Edit View
Advanced
gen atm cpp
Rename
kB Delete Download Edit View
olymp sty
problem tex
statements ftl
testlib h
Auto update
You can place here h files or java files These files will be copied to compilation directory...

output:

RF
NFAF
NLM
Ac
DDEV
Ad
gac
R
kDDEV
os
pt
sf
th
Au
YcphhfojfTfwbctcddtcpoesf
SF
NLLM
DDEVL
vcv
ccc
gabpg
geapg
gaaapg
gapg
gdpg
glpg
grcg
gspg
gzpg
gdp
grp
UffgvaciynIisrtutii
Dnushusti
Eog
Ycrmagh
A
Nf
Uatuafywitpr
Vc
hpccpXIfa
Afsgabp
Afsgabpd
ADfsgap
ADfsgapd
Afsgap
Afsgapd
ADfsgdp
ADfsgdpd
Afsgdp...

result:

ok len=325

Test #21:

score: 0
Accepted
time: 347ms
memory: 75052kb

input:

63
Major Arcana
Article
Talk
Read
Edit
View history
Tools
From Wikipedia the free encyclopedia
A fan with cards an index and their box
The Major Arcana cards redesigned by Roberto Viesi
The Major Arcana are the named or numbered cards in a cartomantic tarot pack the name being originally given by oc...

output:

MA
A
Ta
R
Ed
Vh
To
FWtfe
Afwcaiatb
TMAcrbRV
TMAatnonciactptnbogbotttcoantpufpcgTausciascptnfticpptintucitFTninubtcgp
PtttctcwsufpgatFatwspoascpufgagTmhbaacsattbbtttohnmomiWddfcgtcgtcsaptaadftrctscwakboatMA
TtMaMAauitoadaotdaipETaowJBPwutnPC
SMDwttFatcohsaoemmoieiitIcottcwiwiTosbteittcwACdGaScaFpeoTi...

result:

ok len=2094

Test #22:

score: 0
Accepted
time: 270ms
memory: 60872kb

input:

54
include bits stdc h
include testlib h
using namespace std
int n
vector vector string a
string strip const string s
auto l s begin
while l s end l l
auto r s end
while r l prev r r
return s substr l s begin r l
inline int readAndCheckAnswer InStream in
string first strip in readLine A Za z first l...

output:

ibsh
ith
uns
in
vvsa
sscss
alsb
wlsell
arse
wrlprr
rsslsbrl
iirIi
sfsirAZzfl
ifns
r
ieffl
vsaf
fiiini
apbirAZzp
it
ssa
sip
fawai
sis
fajp
fikjkaiskwsk
iaijkwk
sijk
e
b
pms
iepcaisaiinaaftsics
ieacaiambu
aiai
tais
rt
imiaca
raa
nirir
ssir
vsw
st
wst
wpbt
apbmw
ijra
ipro
ijp
qwJhtabphn
qfPhtabjhn
ipj
...

result:

ok len=270

Test #23:

score: 0
Accepted
time: 324ms
memory: 64672kb

input:

64
present me some phrases that shares the same initialism as much as possible as long as possible
ChatGPT
Creating long phrases that share the same initialism can be quite the puzzle Heres a list featuring the initialism S T A R T to give you an idea of how diverse the phrases can be
Seek Treasure ...

output:

pmsptstsiamapalap
C
ClptstsicbqtpHalftiSTARTtgyaiohdtpcb
SeeTART
STARTi
SysTART
SoTART
ShaTART
SavTART
STAzRT
START
StTART
STARaT
Tpsdtfthafstasase
ctgm
HamputiSTART
SeTART
SiTART
ShTART
SThART
SToART
STARTo
STApRT
SyTART
STaART
STARTe
Epbotcosswiapjabsoace
STiART
STeART
SpTART
SaTART
STAtRT
STrART
...

result:

ok len=522

Test #24:

score: 0
Accepted
time: 658ms
memory: 71908kb

input:

128
You are given a string consisting of characters and or
You have to paint every character of this string into one of two colors red or blue
If you paint the i th character red you get r i coins
If you paint it blue you get b i coins
After coloring the string you remove every blue character from i...

output:

Yagascocao
Yhtpecotsiootcrob
Iyptitcrygric
Iypibygbic
Actsyrebcfiactnoiitrsi
e
tnopocsttlcitpiatrcitpi
Feiyhtpc
Witmnocyce
Lscaaaonnnifitfch
aloftnxx
xkaita
ceotadbamki
aiailkfeiin
Yagnxak
Ytitctnofaoln
Stacblpim
MaBapacg
Echtpaavaadv
Acsbactitaosisgttdot
Mhnctitothaavomaiaadvomai
Bhmctjtothaavombja...

result:

ok len=2069

Test #25:

score: 0
Accepted
time: 658ms
memory: 66720kb

input:

128
An anonymous informant has told you that the array b was obtained as follows initially there existed an array a a ldots a n after which the following two component operation was performed k times
A fixed point dagger x of the array a was chosen
Then the array a was cyclically shifted to the left...

output:

Aaihtyttabwoafiteaaaalanawtftcowpkt
Afpdxotaawc
Ttaawcsttldext
Aaroksotabblbnwo
Ywtcitwotaicbtoitagtbf
dAnxicafpotaaalanilxlnaaxx
dAclsotaaalanitaalana
Yagartwtravicoasv
Evhanvist
Taaqqott
Tftaacvwtnstvvwsitcsott
Tnvotnvwb
Tstaxttnvoavitsovv
Aaqotnvoaotvitft
TbSilawatnB
OtcotyBwane
Feeidaiikwianni
S...

result:

ok len=1849

Test #26:

score: 0
Accepted
time: 660ms
memory: 68076kb

input:

128
It turns out that Doremy has a special power
She can choose k days and during these days it will not rain
Doremy wants to calculate the maximum number of dry cities after using the special power
The only differences between the two versions of this problem are the constraint on k the time limit ...

output:

ItotDhasp
Scckdadtdiwnr
Dwtctmnodcautsp
Todbttvotpatcokttlatml
Ycmhoiavotpas
Dliarcconcnftn
Twbptdoritnmd
Ititdiwritcitiliri
Acicdiiwnritcitnmd
Scckditevkadtdiwnr
Dliacconcnftnwaiplititc
Icbmaaugwnn
Itaneitg
NDwtmtgc
Tdtscaaebiaji
skiSakgicjcc
wSitsoatntacitsccoeiojaciagc
CDmtgc
Tnijaitscciteapfitj
...

result:

ok len=2054

Test #27:

score: 0
Accepted
time: 622ms
memory: 61576kb

input:

128
Ab
aba
abac
abacaabaca synonyms
abaciscus
abacist
abackaback synonyms
Abaco
abacterial
abactinal
abaculus
abacusabacus synonyms
Abadan
AbaddonAbaddon synonyms
A bad penny always turns up
ab aeterno
abaftabaft synonyms
Abagtha
Abailard
Abakan
abaloneabalone synonyms
abamp
abampere
abandonabandon ...

output:

Ab
aba
abac
abacas
abacis
abaci
abacks
Abac
abacte
abact
abacu
abacs
Abad
Abs
Abpatu
aa
abafs
Abag
Abai
Abak
abals
abamp
abam
abansy
abands
aband
Ahayweh
abans
aban
abapi
abap
AIs
b
asy
abs
asyn
absy
abass
abasi
asyno
abasy
abats
abati
aj
abato
abat
Aba
abas
abax
abay
abb
Abb
abbac
ad
Abbad
Abbai
Ab...

result:

ok len=504

Test #28:

score: 0
Accepted
time: 524ms
memory: 61556kb

input:

105
abele
abelia
Abelian
Abelian group
Abe Lincoln in Illinois
Abel meholah
abelmosk
Abelson
Abenaki
abendabend synonyms
Abeokuta
Abercrombie
Aberdare
Aberdeen
Aberdeen Angus
Aberdeen Proving Ground
Aberdeenshire
Aberdeen terrier
aberdevine
Aberdonian
Aberfan
Abernathy
abernethy
aberrantaberrant syn...

output:

abele
abeli
Abeli
Ag
ALiI
Am
abel
Abel
Aben
abens
Abeo
Aberc
Ab
Abe
AA
APG
Aber
At
aberd
Aberd
Aberf
Abern
aber
asyno
abers
Abery
aes
abe
abesy
abet
abets
ae
abeys
abes
abf
ABFM
AB
abhe
AP
abh
absyn
abhsy
abhos
abhs
Abia
Abiat
Abib
abid
abisy
abbbs
abids
Abid
Abie
abien
bi
abie
aba
abigs
Abih
Abil
a...

result:

ok len=410

Test #29:

score: 0
Accepted
time: 617ms
memory: 61680kb

input:

128
Saar
Saarbrcken
SAARC
Saaremaa
Saarinen
Saarland
SaaS
Saavedra Lamas
Sab
Saba
Sabadell
sabadilla
Sabaean
Sabah
sabalo
Sabaoth
Sabata
Sabatier
Sabatini
sabaton
Sabattier effect
sabayon
Sabbat
Sabbatarian
SabbathSabbath synonyms
Sabbath school
Sabbatical
sabbatical yearsabbatical year synonyms
Sab...

output:

Saar
Saarb
SAA
Saare
Saa
Saarl
SaaS
SaL
Sab
Saba
Sabad
sabad
Sabae
Sabah
sabal
Sabao
Sabata
Sabat
Sabati
sabat
Se
saba
S
Sa
Sas
Ss
Sabba
syys
Sabb
SA
Sabea
Sabe
sabes
sabe
sarrs
ssa
st
satt
sabi
Sabi
Sabin
SL
Sabini
Svvs
Sabir
sabk
sabls
san
sabl
SIp
sabo
sasyn
sabsy
sabos
sabr
sabrs
sr
sab
stt
Sabr...

result:

ok len=555

Test #30:

score: 0
Accepted
time: 626ms
memory: 61580kb

input:

128
safari suit
Safavid
safesafe synonyms
safe and soundsafe and sound synonyms
safe area
safe as houses
safe blower
safe breaker
safe conductsafe conduct synonyms
safecrackersafecracker synonyms
safe deposit
safe deposit boxsafe deposit box synonyms
safeguardsafeguard synonyms
safe harborsafe harbo...

output:

sasu
Safa
ssy
sasass
saa
saah
sab
sbr
saccs
ssyn
sad
sadbdbs
safs
sahhs
shhs
sasyn
safe
safsy
sap
sse
sasp
ssur
safes
sbbs
sca
sac
sch
sci
sccs
sd
sdbdbs
sfa
sfi
sfu
sf
sggs
sho
sints
siis
SI
slls
sal
sl
sam
smms
snns
spps
srrs
ssq
sat
svvs
saw
sa
saff
so
saffs
Saf
SR
SAf
saf
SAD
safr
saft
sagss
ssy...

result:

ok len=443

Test #31:

score: 0
Accepted
time: 566ms
memory: 60228kb

input:

115
sage cock
sage Derby
sage green
sage grouse
sage hen
sagelysagely synonyms
sagenite
sage sparrow
sage thrasher
saggar
saggersagger synonyms
sagging moment
saggysaggy synonyms
Saghalien
Sag Harbor
Saginaw
Saginaw Bay
Sagitta
sagittalsagittal synonyms
sagittal suture
Sagittarian
SagittariusSagitta...

output:

sc
sD
sagr
sgr
she
sages
sage
ssp
st
sagg
sagsy
sm
saggs
Sagh
SH
Sagin
SBa
Sagit
sagis
sasu
Sagi
Sas
sagi
sags
sago
sg
sap
sr
S
sag
Sagu
SeH
Sag
sw
Sa
Ss
Sah
Saha
Sahe
Sat
sah
SaA
SAH
saic
saids
Said
saig
Sai
ST
sails
sail
sailb
ssyn
scttw
sasy
saile
sailf
sais
sbbs
sl
ssh
si
sailm
sas
sh
sailo
ssc
...

result:

ok len=379

Test #32:

score: 0
Accepted
time: 646ms
memory: 65184kb

input:

128
AAAzzzzzAzzzAzzAzAzzAzzAAzzzzAzAzzAAAAzzAAzAAzAAAAzAzzzzzAAAAzAAAzzzAzzAAzAAzzAAAAAzzzzzzAzzAAzzzzzAAAAzzzAzAAzzzAAzzzAAAAzAAzzA
AzAAzAzAAzAAzzzzAAzzzAzzzAzzAAAzzzAAAzzzzAzAAzzzAzAzAzAzzzzAAAzAzzzAAzzzzzzzzzAAzzzzzzAAAzzzzAzzAzAzAAzAzzzzzAzAzzAzzAzzAAzzAAzA
AAzAzzzzAzAAAzAAzAAzAzAzAAzAAzzAzzzAAz...

output:

AAAzzzz
AzAAzA
AAzAzzz
z
AAzAAAz
zAAzAAA
zAAzzzz
AAAzzAz
zAAAzAA
zzzzzzz
zAAzAA
zAAAAzz
AAzzAz
AAAzAzA
zzAzzzz
zzAzzA
zAzzA
zzzzAzz
zAzAzz
zAAAAzA
AAzzzAz
zzAAzz
AAzAAAA
AAzA
AzAAAz
A
zzzzzzA
zAzzzA
zAzzAA
AAzzzA
zAAAzzz
Azzz
zAzzAz
zAAAzAz
zAzzzz
AzzzAA
zzzAAz
zzAzAz
zAzA
Azz
Azzzz
AAA
zzzz
zAzzz
z...

result:

ok len=673

Test #33:

score: 0
Accepted
time: 632ms
memory: 64904kb

input:

128
zAzzAAAAAzzAAAzAAAzAzzzAAzzzAzzzAzAzzAAzzAzAAzAzAzAAAAAzzzzzAAAAzzzzzAAAAzzzzzAAzzzAzAzAzzzAAAzAAAAzzzzAzAzzzzAzAzAAAzAzzzzAzAAA
zzAzzzAAzzAAAzAAAzzAzAAzAAzzzAAAAzzzzAzzzAzAzzzAAAAAAAzzAzzzAzzAAzzAAAAAzAzzzzzAzAAAAAzzAAzzAzAAzzAAAzAzzAzAAAAAAzAzAzzzAAAzAzzA
AzzAAAAzzAAzzAAzzAAAAzAzzzzzAAAzzAzzzA...

output:

zAzzAAA
zzAzzzA
AzzAAAA
AAAAzA
zAAAzzA
zAAAAzz
AAAzAAA
zAAAA
AzAzAAA
zAzAAA
AzAzAzz
AzAzA
zzAAzAA
zAzzA
AAzzzz
zzzA
AzzzzzA
AAzAAA
AzAzAz
AAAAAAz
zAAAAz
AzzzzA
zAzAA
zAA
zAzzAA
zzzzzz
AAAAzzA
zzAzAz
zzzAz
zzAzAA
zAzAz
zAAzAz
AAAzAAz
AzzAAA
zAAAzA
zAzzzA
AAzzA
zAzzAz
Az
zAzzzz
AAzAzz
zzAzA
zAAAzz
AAz...

result:

ok len=667

Test #34:

score: 0
Accepted
time: 4326ms
memory: 219172kb

input:

128
riJvmelARapZOVXwMfUdCzkwcdcFjGKiqKQwFwiXFPFIjlUnHZFetAENZXLpvEWaOZRVAeFBjLaCKvnszYuPa riJvmelARapZOVXwMfUdCzkwcdcFjGKiqKQwFwiXFPFIjlUnHZFetAENZXLpvEWaOZRVAeFBjLaCKvnszYuPa riJvmelARapZOVXwMfUdCzkwcdcFjGKiqKQwFwiXFPFIjlUnHZFetAENZXLpvEWaOZRVAeFBjLaCKvnszYuPa riJvmelARapZOVXwMfUdCzkwcdcFjGKiqKQwFw...

output:

rrirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrirrrrrrrrrrrrrrrrrrrrrrrrr...

result:

ok len=16511

Test #35:

score: 0
Accepted
time: 330ms
memory: 62620kb

input:

64
g MinGW W x ucrt posix seh built by Brecht Sanders
Copyright C Free Software Foundation Inc
This is free software see the source for copying conditions There is NO
warranty not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
Usage g options file
Options
pass exit codes Exit with high...

output:

gMWxupsbbBS
CCFSFI
TifsstsfccTiN
wnefMoFFAPP
Ugof
O
pecEwhecfap
hDti
thDtsclo
hcoptwjsu
Dstoclo
Uvhtdcloosp
vDcvi
dDaotbiss
dDtvotc
dDtcstp
psdDtditcssp
plfnDtnotcscl
pfnlDtfptll
ppnpDtfptccp
pmDttsnGtua
acitlp
pmdDtrdfvol
pmlDtmbcloa
mlsd
pmodDtrptOl
psDttld
pshsDtssutfh
WoPcsootta
WoPcsoottp
WoPcs...

result:

ok len=539

Test #36:

score: 0
Accepted
time: 1397ms
memory: 63204kb

input:

128
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
cccccccccccccccccccccccccccccccccc...

result:

ok len=16636

Test #37:

score: 0
Accepted
time: 10ms
memory: 59432kb

input:

1
z

output:

z

result:

ok len=1

Test #38:

score: 0
Accepted
time: 1480ms
memory: 198912kb

input:

128
AQcNVBPpxahJeqoyDYRQdSHFxfNXlLotEijTgUySPIUHysxlfdPCpRvbSJkQBOhTJgJVDRdjAIFODJTSLJZmzUJgAXsJEFJDkGhfGCMAcpZVd iMGDnPQZefidJgKERflhOdNxntuIcaEMjnFgRSbqqopCDKnPsDAlxCsZvbvIObJqlTcofHD nnJCmTgqyFYNjQTBgNSSbVWrNxahwleYXVVGizfdorZdeBDrdXEJnnphWIAiWmzqqdWCDRSoNIBHHZr qCRWhfJScgWlkkfzjPIhZXojqEWYOOahsF...

output:

AinqKjKOTbajcXnZARIjQnPJOOFrlfWldfUfXsj
B
BAkzSIOKVkoYNbLIlfatOiDcpFbymXoAcXQDpgsweYhmXkEnxDnIOMYYBslzJBCBUIjHzHPYduUbFnPjjnPq
BXvBcFXrPxdzOGQdjoDuWBfZLfzjPsfBfvVcRTCeklejNSPxVcAHCbjtOEuhObAZfNQhgNdh
BsvmwwOSwXfJlxLINsDIfMOPbLtPvKBPzimHoJiaycCkSTpDKFGjIfipMN
BaRwYGBLxhsArZHQQYsCWoJVnYnGdPDOgZLbgqKCr...

result:

ok len=8082

Test #39:

score: 0
Accepted
time: 6183ms
memory: 306576kb

input:

128
EsRPZZEOwdRaYIWsPeQRAzwvIUwETAYeTUQPzvOIzWwTvwsREYwZWwaPUsRRQdIWsQYUvZaaRAYYdTaRUAYZOeIEOTvAwAAPwOAORTAQUQaYUdaPUwvQAAPEPsReResP EsRPZZEOwdRaYIWsPeQRAzwvIUwETAYeTUQPzvOIzWwTvwsREYwZWwaPUsRRQdIWsQYUvZaaRAYYdTaRUAYZOeIEOTvAwAAPwOAORTAQUQaYUdaPUwvQAAPEPsReResP EsRPZZEOwdRaYIWsPeQRAzwvIUwETAYeTUQPzv...

output:

EEEQEEQEQEEQQQEQEQQQQQEEQEEQEEEQEQQQQEQQQEEQQEEEEQQQQEQQEEQQEQEQQQQQEEQQEQEEQEEEQQQQQQQEQQQQQEQQQQEEQQEEQEEQQQEEQEEQEEQEQQQEEEEE
EQEQQEQQQQQEQEQEEQEEEEQQEQEQEEEQEEEQQQEEQEQEQQEQQQQEEEQQEEQEEQEQQQEQEQEEQQQEQEQEQQEQQQQEEEQQQEQQQEQQEEQEEEEQEQEEQEEEQEQQEQQQEQEQ
QEEQQEQEQQEEQEEQQQEQEEQEEQEQEEEQQEQEEQQEEQ...

result:

ok len=16384

Test #40:

score: 0
Accepted
time: 6170ms
memory: 297336kb

input:

128
vAawasZQUZeQEvZYZZPsWYzEUPvYETPEAeewWIzszEAvsPeEdUTUUweUzOseEddUYszPWWOzTZAvREzQAYwvdsQvsEPdvsYaOZARdwQAWwTPPIvZsRQwszdQIaOIOIQZ vAawasZQUZeQEvZYZZPsWYzEUPvYETPEAeewWIzszEAvsPeEdUTUUweUzOseEddUYszPWWOzTZAvREzQAYwvdsQvsEPdvsYaOZARdwQAWwTPPIzIesOOQQaaYaOUAwse vAawasZQUZeQEvZYZZPsWYzEUPvYETPEAeewWI...

output:

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvA
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvAv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv...

result:

ok len=16511

Test #41:

score: 0
Accepted
time: 178ms
memory: 73112kb

input:

128
A
AB
A B
ABA
A BA
AB A
A B A
ABAC
A BAC
AB AC
A B AC
ABA C
A BA C
AB A C
A B A C
ABACA
A BACA
AB ACA
A B ACA
ABA CA
A BA CA
AB A CA
A B A CA
ABAC A
A BAC A
AB AC A
A B AC A
ABA C A
A BA C A
AB A C A
A B A C A
ABACAA
A BACAA
AB ACAA
A B ACAA
ABA CAA
A BA CAA
AB A CAA
A B A CAA
ABAC AA
A BAC AA
AB...

output:

no solution

result:

ok len=-1

Test #42:

score: 0
Accepted
time: 165ms
memory: 72824kb

input:

64
r
rw
r w
rwe
r we
rw e
r w e
rwer
r wer
rw er
r w er
rwe r
r we r
rw e r
r w e r
rwerr
r werr
rw err
r w err
rwe rr
r we rr
rw e rr
r w e rr
rwer r
r wer r
rw er r
r w er r
rwe r r
r we r r
rw e r r
r w e r r
rwerrt
r werrt
rw errt
r w errt
rwe rrt
r we rrt
rw e rrt
r w e rrt
rwer rt
r wer rt
rw ...

output:

no solution

result:

ok len=-1

Test #43:

score: 0
Accepted
time: 107ms
memory: 73896kb

input:

64
A
AA
A A
AAA
A AA
AA A
A A A
AAAB
A AAB
AA AB
A A AB
AAA B
A AA B
AA A B
A A A B
AAABB
A AABB
AA ABB
A A ABB
AAA BB
A AA BB
AA A BB
A A A BB
AAAB B
A AAB B
AA AB B
A A AB B
AAA B B
A AA B B
AA A B B
A A A B B
AAABBB
A AABBB
AA ABBB
A A ABBB
AAA BBB
A AA BBB
AA A BBB
A A A BBB
AAAB BB
A AAB BB
AA ...

output:

no solution

result:

ok len=-1

Test #44:

score: 0
Accepted
time: 47ms
memory: 77908kb

input:

4
z
zx
z x
QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVB WERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBN ERTYUIOPASDFGHJKLZXCVBNMqwertyu...

output:

no solution

result:

ok len=-1

Test #45:

score: 0
Accepted
time: 34ms
memory: 72752kb

input:

2
z
QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVB WERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBN ERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdf...

output:

z
QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVB

result:

ok len=129

Test #46:

score: 0
Accepted
time: 316ms
memory: 72860kb

input:

121
ol
olo
o lo
ol o
olol
o lol
ol ol
o l ol
olo l
o lo l
ol o l
ololA
o lolA
ol olA
o l olA
olo lA
o lo lA
ol o lA
o l o lA
olol A
o lol A
ol ol A
o l ol A
olo l A
o lo l A
ol o l A
ololAN
o lolAN
ol olAN
o l olAN
olo lAN
o lo lAN
ol o lAN
o l o lAN
olol AN
o lol AN
ol ol AN
o l ol AN
olo l AN
o lo...

output:

no solution

result:

ok len=-1

Test #47:

score: 0
Accepted
time: 51ms
memory: 73928kb

input:

27
ee
eee
e ee
ee e
eeee
e eee
ee ee
e e ee
eee e
e ee e
ee e e
eeeee
e eeee
ee eee
e e eee
eee ee
e ee ee
ee e ee
e e e ee
eeee e
e eee e
ee ee e
e e ee e
eee e e
e ee e e
ee e e e
QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF...

output:

no solution

result:

ok len=-1

Test #48:

score: 0
Accepted
time: 58ms
memory: 72920kb

input:

5
we
wer
w er
we r
QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVB WERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBN ERTYUIOPASDFGHJKLZXCVBN...

output:

we
w
wer
wr
QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVB

result:

ok len=136

Test #49:

score: 0
Accepted
time: 63ms
memory: 73432kb

input:

5
dz
dzd
d zd
dz d
QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVB WERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBN ERTYUIOPASDFGHJKLZXCVBN...

output:

dz
d
dzd
dd
QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVB

result:

ok len=136

Extra Test:

score: 0
Extra Test Passed