QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#667487#7686. The Phantom MenacelamkappaWA 2621ms574360kbC++2011.8kb2024-10-22 23:30:382024-10-22 23:30:44

Judging History

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

  • [2024-10-22 23:30:44]
  • 评测
  • 测评结果:WA
  • 用时:2621ms
  • 内存:574360kb
  • [2024-10-22 23:30:38]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

#ifndef STL_PBDS
#define STL_PBDS

#define _EXT_CODECVT_SPECIALIZATIONS_H 1
#define _EXT_ENC_FILEBUF_H 1
#include <bits/extc++.h>
// using namespace __gnu_cxx;
// using namespace __gnu_pbds;

// 平衡树
template<typename K_T,
    typename Cmp = std::less<K_T>,
    typename V_T = __gnu_pbds::null_type
>
using order_set = __gnu_pbds::tree<
    K_T,                                                // key_type
    V_T,                                                // value_type
    Cmp,                                                // comparator
    __gnu_pbds::rb_tree_tag,                            // tag
    __gnu_pbds::tree_order_statistics_node_update       // policy
>;
template<typename K_T,
    typename V_T = __gnu_pbds::null_type,
    typename Cmp = std::less<K_T>
>
using order_map = order_set<K_T, Cmp, V_T>;
template<typename K_T, typename V_T, typename Cmp>
V_T& operator%(order_map<K_T,V_T,Cmp>&mp, const K_T&x){
    return mp.lower_bound(x)->second;
}
/*
tag:
rb_tree_tag                                 红黑树
splay_tree_tag                              Slpay
ov_tree_tag                                 向量树

Itr ::point_iterator

std::pair<point_iterator, bool> insert(T)   插入
bool erase(T/Itr)                           删除元素/迭代器
int order_of_key(T)                         返回排名
Itr find_by_order(T)                        排名对应元素
Itr lower_bound(T)/upper_bound(T)           二分查找
void join(order_set)                        合并
void split(T,order_set)                     保留<=,其余分离覆盖到order_set中
bool empty()                                判空
size_t size()                               大小
Itr begin()/end()                           首尾迭代器
*/

/***************/

// 堆
template<typename T,
    typename Cmp = std::greater<T>
>
using heap = __gnu_pbds::priority_queue<
    T,                                                  // type
    Cmp,                                                // comparator
    __gnu_pbds::pairing_heap_tag                        // tag
>;
/*
tag:
pairing_heap_tag        配对堆
thin_heap_tag           斐波那契堆
binomial_heap_tag       二项堆
binary_heap_tag         二叉堆

Itr ::point_iterator    可以指定为nullptr

usage:
Itr push(T)             入堆
void pop()              出堆
T top()                 堆顶
void modify(Itr, T)     修改
void join(heap)         合并,清空heap
bool empty()            判空
size_t size()           大小
void clear()            清空
*/

/***************/

// 哈希表
const int RANDOM = std::chrono::high_resolution_clock::now().time_since_epoch().count();
template<typename K_T>
struct Chash{
    int operator()(K_T x)const{return std::hash<K_T>{}(x)^RANDOM;}
};
template<typename K_T, typename V_T, typename Hash = Chash<K_T>>
using hash_table = __gnu_pbds::gp_hash_table<K_T, V_T, Hash>;

/*
tag:
cc_hash_table           拉链法
gp_hash_table           二次探测法

V_T& operaotr[](K_T)    映射
*/


// 字典树
using trie = __gnu_pbds::trie<
    std::string,                                    //
    __gnu_pbds::null_type,                          //
    __gnu_pbds::trie_string_access_traits<>,        //
    __gnu_pbds::pat_trie_tag,                       // tag
    __gnu_pbds::trie_prefix_search_node_update      // policy
>;
/*
Itr insert(string)                          插入
void erase(string)                          删除
void join(trie)                             合并trie
std::pair<Itr, Itr> prefix_range(string)    前缀遍历[beign,end)
*/

#endif

#ifndef DISJOINT_SET_UNION
#define DISJOINT_SET_UNION
// 并查集

struct DSU {
    std::vector<int> fa, sz, st;
    DSU() {}
    DSU(int n) {init(n);}
    void init(int n) {
        fa.resize(n);
        std::iota(fa.begin(), fa.end(), 0);
        sz.assign(n, 1);
        st.clear();
    }
    int find(int x) {
        while(x!=fa[x]) {
            x = fa[x] = fa[fa[x]];
        }
        return x;
    }
    bool same(int x, int y) {
        return find(x) == find(y);
    }
    bool merge(int x, int y) {
        x = find(x); y = find(y);
        if(x==y) { return false; }
        if(sz[x]<sz[y]) { std::swap(x,y); }
        sz[x] += sz[y];
        st.push_back(y);
        fa[y] = x;
        return true;
    }
    int get_size(int x) {
        return sz[find(x)];
    }
    void clear() {
        while(!st.empty()) {
            int x = st.back(), p = find(x);
            fa[p] = p; sz[p] = 1;
            fa[x] = x; sz[x] = 1;
            st.pop_back();
        }
    }
};

#endif

#ifndef EULER_LOOP
#define EULER_LOOP

struct EulerLoop{
    DSU dsu;
    std::vector<hash_table<int, int>> adj;

    EulerLoop(int n) : dsu(n){
        adj.assign(n, {});
    }

    void add_edge(int u, int v){
        adj[u][v]++;
        dsu.merge(u, v);
    }

    std::vector<int> find(int rt){
        std::vector<int> ans;
        // auto adj = this->adj;
        auto dfs = [&](auto&&dfs, int u)->void{
            while(!adj[u].empty()){
                auto v = adj[u].begin()->first;
                if(0 == --adj[u][v]){
                    adj[u].erase(v);
                }
                dfs(dfs, v);
            }
            ans.push_back(u);
        };
        dfs(dfs, rt);
        reverse(ans.begin(), ans.end());
        return ans;
    }

    bool connected(){
        return dsu.get_size(0) == adj.size();
    }

    bool empty()const{
        bool fl = true;
        for(const auto&x : adj){
            fl &= x.empty();
        }
        return fl;
    }
};

#endif


struct Hash{
    static constexpr std::size_t C = 2;
    using u64 = unsigned long long;
    using hash = std::array<u64, C>;

    hash val;

    Hash() { val.fill(0ull); }

    Hash(const std::initializer_list<u64>&list) {
        std::copy(list.begin(), list.end(), val.begin());
    }

    bool operator==(const Hash&o)const{
        return val == o.val;
    }
    Hash operator*(const Hash&o)const{
        return {val[0] * o.val[0], val[1] * o.val[1]};
    }
    Hash operator+(u64 x)const{
        return {val[0] + x, val[1] + x};
    }
    Hash operator+(const Hash&o)const{
        return {val[0] + o.val[0], val[1] + o.val[1]};
    }
    Hash operator-(u64 x)const{
        return {val[0] - x, val[1] - x};
    }
    Hash operator-(const Hash&o)const{
        return {val[0] - o.val[0], val[1] - o.val[1]};
    }

};
// const int RANDOM = std::chrono::high_resolution_clock::now().time_since_epoch().count();
namespace std {
    template <>
    struct hash<Hash> {
        std::size_t operator()(Hash x)const{
            return std::accumulate(x.val.begin(), x.val.end(), 0, std::bit_xor());
        }
    };
}
const Hash M = Hash{51, 137};
constexpr int MAXM = 1e6+5;
Hash Mpow[MAXM];

hash_table<Hash, int> A1, A2, B1, B2;
hash_table<Hash, int> mpA1, mpA2, mpB1, mpB2;
signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    Mpow[0] = {1, 1};
    for(int i=1; i<MAXM; i++){
        Mpow[i] = Mpow[i-1] * M;
    }

    int T; cin >> T;
    while(T--){
        int n, m; cin >> n >> m;
        vector hA(n, vector<Hash>(m+1));
        auto hB = hA;
        for(int i=0; i<n; i++){
            string s; cin >> s;
            for(int j=1; j<=m; j++){
                hA[i][j] = (hA[i][j-1]*M + (s[j-1] - 'a'));
            }
        }
        for(int i=0; i<n; i++){
            string s; cin >> s;
            for(int j=1; j<=m; j++){
                hB[i][j] = (hB[i][j-1]*M + (s[j-1] - 'a'));
            }
        }

        for(int offset=0; offset<m; offset++){
            A1.clear(); A2.clear(); B1.clear(); B2.clear();
            // hash_table<Hash, int> A1, A2, B1, B2;
            for(int i=0; i<n; i++){
                Hash a = hA[i][offset];
                Hash b = hA[i][m] - hA[i][offset] * Mpow[m-offset];
                A1[a]++; A2[b]++;
                // B1[b]++; B2[a]++;
            }
            for(int i=0; i<n; i++){
                Hash a = hB[i][m-offset];
                Hash b = hB[i][m] - hB[i][m-offset] * Mpow[offset];
                // A1[b]++; A2[a]++;
                B1[a]++; B2[b]++;
            }
            bool fl = true;
            for(auto[h, x] : A1) fl &= x == B2[h];
            for(auto[h, x] : A2) fl &= x == B1[h];
            // for(auto[h, x] : A1) fl &= (x % 2 == 0) && x == B2[h];
            // for(auto[h, x] : A2) fl &= (x % 2 == 0) && x == B1[h];
            // for(auto[h, x] : B1) fl &= (x % 2 == 0);
            // for(auto[h, x] : B2) fl &= (x % 2 == 0);
            if(fl){
                mpA1.clear(), mpA2.clear(), mpB1.clear(), mpB2.clear();
                // hash_table<Hash, int> mpA1, mpA2, mpB1, mpB2;
                int cnt = 0;
                for(auto[h, _] : A1) mpA1[h] = cnt++;
                // auto cnt1 = cnt;
                for(auto[h, _] : A2) mpA2[h] = cnt++;
                auto cntAB = cnt;
                for(auto[h, _] : B1) mpB1[h] = cnt++;
                // auto cnt2 = cnt;
                for(auto[h, _] : B2) mpB2[h] = cnt++;
                EulerLoop g(cnt);
                hash_table<int, Hash> pos;
                hash_table<Hash, vector<int>> segA, segB;
                for(int i=0; i<n; i++){
                    Hash a = hA[i][offset];
                    Hash b = hA[i][m] - hA[i][offset] * Mpow[m-offset];
                    g.add_edge(mpB2[a], mpA1[a]);
                    g.add_edge(mpA1[a], mpA2[b]);
                    // g.add_edge(mpA2[b], mpB1[b]);
                    pos[mpA1[a]] = a;
                    pos[mpA2[b]] = b;
                    Hash ab = b + a * Mpow[m-offset];
                    segA[ab].push_back(i);
                }
                for(int i=0; i<n; i++){
                    Hash a = hB[i][m-offset];
                    Hash b = hB[i][m] - hB[i][m-offset] * Mpow[offset];
                    g.add_edge(mpA2[a], mpB1[a]);
                    g.add_edge(mpB1[a], mpB2[b]);
                    // g.add_edge(mpB2[b], mpA1[b]);
                    pos[mpB1[a]] = a;
                    pos[mpB2[b]] = b;
                    Hash ab = b + a * Mpow[m-offset];
                    segB[ab].push_back(i);
                }
                if(!g.connected()) continue;
                auto ans = g.find(0);
                if(!g.empty()) continue;
                vector<int> ans_A, ans_B;
                for(int i=0; i<ans.size(); i++){
                    auto x = ans[i];
                    auto y = ans[(i+1)%ans.size()];
                    if(x < cntAB && y < cntAB){
                        if(x > y) swap(x, y);
                        Hash a = pos[x], b = pos[y];
                        Hash ab = b + a * Mpow[m-offset];
                        if(segA[ab].empty()) continue;
                        ans_A.push_back(segA[ab].back());
                        segA[ab].pop_back();
                    }else if(x >= cntAB && y >=cntAB){
                        if(x > y) swap(x, y);
                        Hash a = pos[x], b = pos[y];
                        Hash ab = b + a * Mpow[m-offset];
                        if(segB[ab].empty()) continue;
                        ans_B.push_back(segB[ab].back());
                        segB[ab].pop_back();
                    }
                }
                if(ans_A.size() != n || ans_B.size() != n) continue;
                for(auto x : ans_A) cout << x+1 << ' '; cout << '\n';
                for(auto x : ans_B) cout << x+1 << ' '; cout << '\n';


                goto NEXT_CASE;
            }
        }
        cout << "-1\n";

        NEXT_CASE:;
    }

    
    return 0;
}

详细

Test #1:

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

input:

2
3 3
abc
ghi
def
bcd
efg
hia
1 3
abc
def

output:

1 3 2 
1 2 3 
-1

result:

ok 2 cases (2 test cases)

Test #2:

score: 0
Accepted
time: 1004ms
memory: 19228kb

input:

1000000
1 1
b
b
1 1
a
b
1 1
b
a
1 1
a
a
1 1
b
b
1 1
a
b
1 1
b
a
1 1
a
a
1 1
b
b
1 1
a
b
1 1
b
a
1 1
a
a
1 1
b
b
1 1
a
b
1 1
b
a
1 1
a
a
1 1
b
b
1 1
a
b
1 1
b
a
1 1
a
a
1 1
b
b
1 1
a
b
1 1
b
a
1 1
a
a
1 1
b
b
1 1
a
b
1 1
b
a
1 1
a
a
1 1
b
b
1 1
a
b
1 1
b
a
1 1
a
a
1 1
b
b
1 1
a
b
1 1
b
a
1 1
a
a
1 1
...

output:

1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
-1
-1
...

result:

ok 1000000 cases (1000000 test cases)

Test #3:

score: 0
Accepted
time: 320ms
memory: 19236kb

input:

500000
1 2
dd
ba
1 2
cd
ba
1 2
bd
ba
1 2
ad
ba
1 2
dc
ba
1 2
cc
ba
1 2
bc
ba
1 2
ac
ba
1 2
db
ba
1 2
cb
ba
1 2
bb
ba
1 2
ab
ba
1 2
da
ba
1 2
ca
ba
1 2
ba
ba
1 2
aa
ba
1 2
dd
aa
1 2
cd
aa
1 2
bd
aa
1 2
ad
aa
1 2
dc
aa
1 2
cc
aa
1 2
bc
aa
1 2
ac
aa
1 2
db
aa
1 2
cb
aa
1 2
bb
aa
1 2
ab
aa
1 2
da
aa
1 2...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 
1 
-1
-1
1 
1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 
1 
1 
1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 
1 
-1
-1
1 
1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 
1 
-1
-1
-1
-1
-1
1 
1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 
1 
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 500000 cases (500000 test cases)

Test #4:

score: 0
Accepted
time: 335ms
memory: 19296kb

input:

500000
2 1
d
d
b
a
2 1
c
d
b
a
2 1
b
d
b
a
2 1
a
d
b
a
2 1
d
c
b
a
2 1
c
c
b
a
2 1
b
c
b
a
2 1
a
c
b
a
2 1
d
b
b
a
2 1
c
b
b
a
2 1
b
b
b
a
2 1
a
b
b
a
2 1
d
a
b
a
2 1
c
a
b
a
2 1
b
a
b
a
2 1
a
a
b
a
2 1
d
d
a
a
2 1
c
d
a
a
2 1
b
d
a
a
2 1
a
d
a
a
2 1
d
c
a
a
2 1
c
c
a
a
2 1
b
c
a
a
2 1
a
c
a
a
2 1
d...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 2 
2 1 
-1
-1
1 2 
1 2 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
2 1 
2 1 
2 1 
2 1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 2 
1 2 
-1
-1
1 2 
2 1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 2 
1 2 
-1
-1
-1
-1
-1
1 2 
2 1 
-1
-1
-1
-1
-1
-1
-1
-1
-...

result:

ok 500000 cases (500000 test cases)

Test #5:

score: 0
Accepted
time: 234ms
memory: 19292kb

input:

333333
1 3
cbb
bfa
1 3
bbb
bfa
1 3
abb
bfa
1 3
fab
bfa
1 3
eab
bfa
1 3
dab
bfa
1 3
cab
bfa
1 3
bab
bfa
1 3
aab
bfa
1 3
ffa
bfa
1 3
efa
bfa
1 3
dfa
bfa
1 3
cfa
bfa
1 3
bfa
bfa
1 3
afa
bfa
1 3
fea
bfa
1 3
eea
bfa
1 3
dea
bfa
1 3
cea
bfa
1 3
bea
bfa
1 3
aea
bfa
1 3
fda
bfa
1 3
eda
bfa
1 3
dda
bfa
1 3
c...

output:

-1
-1
-1
1 
1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 
1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 
1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 333333 cases (333333 test cases)

Test #6:

score: 0
Accepted
time: 233ms
memory: 19324kb

input:

333333
3 1
c
b
b
b
f
a
3 1
b
b
b
b
f
a
3 1
a
b
b
b
f
a
3 1
f
a
b
b
f
a
3 1
e
a
b
b
f
a
3 1
d
a
b
b
f
a
3 1
c
a
b
b
f
a
3 1
b
a
b
b
f
a
3 1
a
a
b
b
f
a
3 1
f
f
a
b
f
a
3 1
e
f
a
b
f
a
3 1
d
f
a
b
f
a
3 1
c
f
a
b
f
a
3 1
b
f
a
b
f
a
3 1
a
f
a
b
f
a
3 1
f
e
a
b
f
a
3 1
e
e
a
b
f
a
3 1
d
e
a
b
f
a
3 1
c...

output:

-1
-1
-1
1 2 3 
2 3 1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 2 3 
1 2 3 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 2 3 
2 1 3 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
2 1 3 
3 1 2 
-1
-1
-1
-1
-...

result:

ok 333333 cases (333333 test cases)

Test #7:

score: 0
Accepted
time: 200ms
memory: 19468kb

input:

250000
1 4
hbca
fhaa
1 4
gbca
fhaa
1 4
fbca
fhaa
1 4
ebca
fhaa
1 4
dbca
fhaa
1 4
cbca
fhaa
1 4
bbca
fhaa
1 4
abca
fhaa
1 4
haca
fhaa
1 4
gaca
fhaa
1 4
faca
fhaa
1 4
eaca
fhaa
1 4
daca
fhaa
1 4
caca
fhaa
1 4
baca
fhaa
1 4
aaca
fhaa
1 4
hhba
fhaa
1 4
ghba
fhaa
1 4
fhba
fhaa
1 4
ehba
fhaa
1 4
dhba
fhaa...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 
1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 250000 cases (250000 test cases)

Test #8:

score: 0
Accepted
time: 203ms
memory: 19272kb

input:

250000
4 1
h
b
c
a
f
h
a
a
4 1
g
b
c
a
f
h
a
a
4 1
f
b
c
a
f
h
a
a
4 1
e
b
c
a
f
h
a
a
4 1
d
b
c
a
f
h
a
a
4 1
c
b
c
a
f
h
a
a
4 1
b
b
c
a
f
h
a
a
4 1
a
b
c
a
f
h
a
a
4 1
h
a
c
a
f
h
a
a
4 1
g
a
c
a
f
h
a
a
4 1
f
a
c
a
f
h
a
a
4 1
e
a
c
a
f
h
a
a
4 1
d
a
c
a
f
h
a
a
4 1
c
a
c
a
f
h
a
a
4 1
b
a
c
a
f...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 4 3 2 
1 4 3 2 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 250000 cases (250000 test cases)

Test #9:

score: 0
Accepted
time: 176ms
memory: 19212kb

input:

200000
1 5
jjjjj
baaaa
1 5
ijjjj
baaaa
1 5
hjjjj
baaaa
1 5
gjjjj
baaaa
1 5
fjjjj
baaaa
1 5
ejjjj
baaaa
1 5
djjjj
baaaa
1 5
cjjjj
baaaa
1 5
bjjjj
baaaa
1 5
ajjjj
baaaa
1 5
jijjj
baaaa
1 5
iijjj
baaaa
1 5
hijjj
baaaa
1 5
gijjj
baaaa
1 5
fijjj
baaaa
1 5
eijjj
baaaa
1 5
dijjj
baaaa
1 5
cijjj
baaaa
1 5
b...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 200000 cases (200000 test cases)

Test #10:

score: 0
Accepted
time: 190ms
memory: 19324kb

input:

200000
5 1
j
j
j
j
j
b
a
a
a
a
5 1
i
j
j
j
j
b
a
a
a
a
5 1
h
j
j
j
j
b
a
a
a
a
5 1
g
j
j
j
j
b
a
a
a
a
5 1
f
j
j
j
j
b
a
a
a
a
5 1
e
j
j
j
j
b
a
a
a
a
5 1
d
j
j
j
j
b
a
a
a
a
5 1
c
j
j
j
j
b
a
a
a
a
5 1
b
j
j
j
j
b
a
a
a
a
5 1
a
j
j
j
j
b
a
a
a
a
5 1
j
i
j
j
j
b
a
a
a
a
5 1
i
i
j
j
j
b
a
a
a
a
5 1
h...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 200000 cases (200000 test cases)

Test #11:

score: 0
Accepted
time: 216ms
memory: 19232kb

input:

250000
2 2
hb
ca
fh
aa
2 2
gb
ca
fh
aa
2 2
fb
ca
fh
aa
2 2
eb
ca
fh
aa
2 2
db
ca
fh
aa
2 2
cb
ca
fh
aa
2 2
bb
ca
fh
aa
2 2
ab
ca
fh
aa
2 2
ha
ca
fh
aa
2 2
ga
ca
fh
aa
2 2
fa
ca
fh
aa
2 2
ea
ca
fh
aa
2 2
da
ca
fh
aa
2 2
ca
ca
fh
aa
2 2
ba
ca
fh
aa
2 2
aa
ca
fh
aa
2 2
hh
ba
fh
aa
2 2
gh
ba
fh
aa
2 2
f...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
2 1 
2 1 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1...

result:

ok 250000 cases (250000 test cases)

Test #12:

score: 0
Accepted
time: 164ms
memory: 19260kb

input:

166666
2 3
jef
aia
aaa
aaa
2 3
ief
aia
aaa
aaa
2 3
hef
aia
aaa
aaa
2 3
gef
aia
aaa
aaa
2 3
fef
aia
aaa
aaa
2 3
eef
aia
aaa
aaa
2 3
def
aia
aaa
aaa
2 3
cef
aia
aaa
aaa
2 3
bef
aia
aaa
aaa
2 3
aef
aia
aaa
aaa
2 3
ldf
aia
aaa
aaa
2 3
kdf
aia
aaa
aaa
2 3
jdf
aia
aaa
aaa
2 3
idf
aia
aaa
aaa
2 3
hdf
aia
a...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 166666 cases (166666 test cases)

Test #13:

score: 0
Accepted
time: 160ms
memory: 19476kb

input:

166666
3 2
je
fa
ia
aa
aa
aa
3 2
ie
fa
ia
aa
aa
aa
3 2
he
fa
ia
aa
aa
aa
3 2
ge
fa
ia
aa
aa
aa
3 2
fe
fa
ia
aa
aa
aa
3 2
ee
fa
ia
aa
aa
aa
3 2
de
fa
ia
aa
aa
aa
3 2
ce
fa
ia
aa
aa
aa
3 2
be
fa
ia
aa
aa
aa
3 2
ae
fa
ia
aa
aa
aa
3 2
ld
fa
ia
aa
aa
aa
3 2
kd
fa
ia
aa
aa
aa
3 2
jd
fa
ia
aa
aa
aa
3 2
id
...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 166666 cases (166666 test cases)

Test #14:

score: 0
Accepted
time: 134ms
memory: 19296kb

input:

125000
2 4
heio
baaa
aaaa
aaaa
2 4
geio
baaa
aaaa
aaaa
2 4
feio
baaa
aaaa
aaaa
2 4
eeio
baaa
aaaa
aaaa
2 4
deio
baaa
aaaa
aaaa
2 4
ceio
baaa
aaaa
aaaa
2 4
beio
baaa
aaaa
aaaa
2 4
aeio
baaa
aaaa
aaaa
2 4
pdio
baaa
aaaa
aaaa
2 4
odio
baaa
aaaa
aaaa
2 4
ndio
baaa
aaaa
aaaa
2 4
mdio
baaa
aaaa
aaaa
2 4
l...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 125000 cases (125000 test cases)

Test #15:

score: 0
Accepted
time: 134ms
memory: 19320kb

input:

125000
4 2
he
io
ba
aa
aa
aa
aa
aa
4 2
ge
io
ba
aa
aa
aa
aa
aa
4 2
fe
io
ba
aa
aa
aa
aa
aa
4 2
ee
io
ba
aa
aa
aa
aa
aa
4 2
de
io
ba
aa
aa
aa
aa
aa
4 2
ce
io
ba
aa
aa
aa
aa
aa
4 2
be
io
ba
aa
aa
aa
aa
aa
4 2
ae
io
ba
aa
aa
aa
aa
aa
4 2
pd
io
ba
aa
aa
aa
aa
aa
4 2
od
io
ba
aa
aa
aa
aa
aa
4 2
nd
io
ba
...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 125000 cases (125000 test cases)

Test #16:

score: 0
Accepted
time: 122ms
memory: 19288kb

input:

100000
2 5
ttjma
aaaaa
aaaaa
aaaaa
2 5
stjma
aaaaa
aaaaa
aaaaa
2 5
rtjma
aaaaa
aaaaa
aaaaa
2 5
qtjma
aaaaa
aaaaa
aaaaa
2 5
ptjma
aaaaa
aaaaa
aaaaa
2 5
otjma
aaaaa
aaaaa
aaaaa
2 5
ntjma
aaaaa
aaaaa
aaaaa
2 5
mtjma
aaaaa
aaaaa
aaaaa
2 5
ltjma
aaaaa
aaaaa
aaaaa
2 5
ktjma
aaaaa
aaaaa
aaaaa
2 5
jtjma
aaa...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 100000 cases (100000 test cases)

Test #17:

score: 0
Accepted
time: 112ms
memory: 19336kb

input:

100000
5 2
tt
jm
aa
aa
aa
aa
aa
aa
aa
aa
5 2
st
jm
aa
aa
aa
aa
aa
aa
aa
aa
5 2
rt
jm
aa
aa
aa
aa
aa
aa
aa
aa
5 2
qt
jm
aa
aa
aa
aa
aa
aa
aa
aa
5 2
pt
jm
aa
aa
aa
aa
aa
aa
aa
aa
5 2
ot
jm
aa
aa
aa
aa
aa
aa
aa
aa
5 2
nt
jm
aa
aa
aa
aa
aa
aa
aa
aa
5 2
mt
jm
aa
aa
aa
aa
aa
aa
aa
aa
5 2
lt
jm
aa
aa
aa
aa...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 100000 cases (100000 test cases)

Test #18:

score: 0
Accepted
time: 128ms
memory: 19504kb

input:

111111
3 3
oqa
bba
aaa
aaa
aaa
aaa
3 3
nqa
bba
aaa
aaa
aaa
aaa
3 3
mqa
bba
aaa
aaa
aaa
aaa
3 3
lqa
bba
aaa
aaa
aaa
aaa
3 3
kqa
bba
aaa
aaa
aaa
aaa
3 3
jqa
bba
aaa
aaa
aaa
aaa
3 3
iqa
bba
aaa
aaa
aaa
aaa
3 3
hqa
bba
aaa
aaa
aaa
aaa
3 3
gqa
bba
aaa
aaa
aaa
aaa
3 3
fqa
bba
aaa
aaa
aaa
aaa
3 3
eqa
bba
a...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 111111 cases (111111 test cases)

Test #19:

score: 0
Accepted
time: 97ms
memory: 19260kb

input:

83333
3 4
eqag
aaaa
aaaa
aaaa
aaaa
aaaa
3 4
dqag
aaaa
aaaa
aaaa
aaaa
aaaa
3 4
cqag
aaaa
aaaa
aaaa
aaaa
aaaa
3 4
bqag
aaaa
aaaa
aaaa
aaaa
aaaa
3 4
aqag
aaaa
aaaa
aaaa
aaaa
aaaa
3 4
xpag
aaaa
aaaa
aaaa
aaaa
aaaa
3 4
wpag
aaaa
aaaa
aaaa
aaaa
aaaa
3 4
vpag
aaaa
aaaa
aaaa
aaaa
aaaa
3 4
upag
aaaa
aaaa
aaa...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 83333 cases (83333 test cases)

Test #20:

score: 0
Accepted
time: 101ms
memory: 19504kb

input:

83333
4 3
eqa
gaa
aaa
aaa
aaa
aaa
aaa
aaa
4 3
dqa
gaa
aaa
aaa
aaa
aaa
aaa
aaa
4 3
cqa
gaa
aaa
aaa
aaa
aaa
aaa
aaa
4 3
bqa
gaa
aaa
aaa
aaa
aaa
aaa
aaa
4 3
aqa
gaa
aaa
aaa
aaa
aaa
aaa
aaa
4 3
xpa
gaa
aaa
aaa
aaa
aaa
aaa
aaa
4 3
wpa
gaa
aaa
aaa
aaa
aaa
aaa
aaa
4 3
vpa
gaa
aaa
aaa
aaa
aaa
aaa
aaa
4 3
up...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 83333 cases (83333 test cases)

Test #21:

score: 0
Accepted
time: 96ms
memory: 19340kb

input:

66666
3 5
bquda
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
3 5
aquda
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
3 5
zpuda
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
3 5
ypuda
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
3 5
xpuda
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
3 5
wpuda
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
3 5
vpuda
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
3 5
upuda
aaaa...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 66666 cases (66666 test cases)

Test #22:

score: 0
Accepted
time: 87ms
memory: 19260kb

input:

66666
5 3
bqu
daa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
5 3
aqu
daa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
5 3
zpu
daa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
5 3
ypu
daa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
5 3
xpu
daa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
5 3
wpu
daa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
5 3
vpu
daa
aaa
aaa
aaa
aaa
aa...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 66666 cases (66666 test cases)

Test #23:

score: 0
Accepted
time: 64ms
memory: 19456kb

input:

20833
6 8
gvebaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
6 8
fvebaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
6 8
evebaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaa...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 20833 cases (20833 test cases)

Test #24:

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

input:

15873
9 7
mmxaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
9 7
lmxaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaa...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 15873 cases (15873 test cases)

Test #25:

score: 0
Accepted
time: 52ms
memory: 19532kb

input:

10000
10 10
puoaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
10 10
ouoaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaa...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 10000 cases (10000 test cases)

Test #26:

score: 0
Accepted
time: 652ms
memory: 19296kb

input:

250000
2 2
od
ah
ha
do
2 2
il
ng
il
ng
2 2
cf
pf
pf
cf
2 2
wx
ll
wx
ll
2 2
fg
ge
ge
fg
2 2
dg
mj
dg
mj
2 2
rj
vw
wr
jv
2 2
er
pv
pv
er
2 2
kc
lb
cl
bk
2 2
dh
zc
hz
cd
2 2
qv
ce
eq
vc
2 2
lz
um
zu
ml
2 2
hw
xx
hw
xx
2 2
uk
un
ku
nu
2 2
sg
kx
gs
xk
2 2
ib
xw
ib
xw
2 2
ar
pd
pd
ar
2 2
ij
si
ii
js
2 2
p...

output:

-1
1 2 
1 2 
1 2 
2 1 
2 1 
2 1 
2 1 
1 2 
2 1 
2 1 
1 2 
2 1 
1 2 
2 1 
1 2 
1 2 
1 2 
1 2 
1 2 
2 1 
1 2 
1 2 
2 1 
2 1 
2 1 
2 1 
-1
1 2 
1 2 
1 2 
2 1 
1 2 
2 1 
2 1 
1 2 
2 1 
2 1 
-1
2 1 
1 2 
1 2 
2 1 
1 2 
2 1 
1 2 
1 2 
1 2 
1 2 
1 2 
1 2 
-1
1 2 
2 1 
2 1 
1 2 
2 1 
1 2 
2 1 
2 1 
2 1 
1 2...

result:

ok 250000 cases (250000 test cases)

Test #27:

score: 0
Accepted
time: 454ms
memory: 19276kb

input:

166666
2 3
aib
avi
aib
avi
2 3
btw
xjw
xjw
btw
2 3
dng
ouv
uvd
ngo
2 3
ctq
sve
sve
ctq
2 3
ott
obm
ott
obm
2 3
aly
tmx
aly
tmx
2 3
nhm
zar
arn
hmz
2 3
knr
qpa
nrq
pak
2 3
gsw
fyn
sng
ywf
2 3
qcy
rov
qcy
rov
2 3
nmj
tyx
tyx
nmj
2 3
dbu
pim
pim
dbu
2 3
afj
zwf
ffa
wjz
2 3
vgo
sky
gyv
kos
2 3
zru
bog
u...

output:

1 2 
1 2 
1 2 
2 1 
1 2 
2 1 
2 1 
1 2 
2 1 
2 1 
2 1 
2 1 
1 2 
2 1 
1 2 
1 2 
-1
1 2 
1 2 
1 2 
2 1 
2 1 
1 2 
-1
-1
-1
-1
2 1 
2 1 
-1
2 1 
2 1 
1 2 
1 2 
-1
1 2 
2 1 
2 1 
1 2 
1 2 
2 1 
1 2 
1 2 
1 2 
2 1 
1 2 
1 2 
2 1 
2 1 
1 2 
1 2 
-1
1 2 
1 2 
1 2 
1 2 
1 2 
2 1 
1 2 
1 2 
1 2 
1 2 
-1
1 2...

result:

ok 166666 cases (166666 test cases)

Test #28:

score: 0
Accepted
time: 661ms
memory: 19244kb

input:

166666
3 2
yx
pd
tl
dt
xy
lp
3 2
xb
pc
cr
xb
pc
cr
3 2
bw
bl
so
bw
bl
so
3 2
oq
eu
tx
eu
oq
tx
3 2
tk
ul
ep
le
kt
pu
3 2
ze
en
iq
qe
ei
nz
3 2
zn
vd
nz
nv
zn
dz
3 2
sn
aa
sl
aa
sn
sl
3 2
cn
lx
jn
cn
lx
jn
3 2
il
td
rf
rf
td
il
3 2
up
mr
ex
ru
xe
pm
3 2
pk
vn
pk
pk
vn
pk
3 2
ke
vj
cp
ke
cp
vj
3 2
aq
...

output:

-1
3 2 1 
3 2 1 
2 3 1 
2 3 1 
2 3 1 
1 3 2 
-1
2 1 3 
3 2 1 
-1
2 3 1 
1 3 2 
2 1 3 
2 1 3 
1 2 3 
3 2 1 
-1
2 3 1 
2 3 1 
3 1 2 
2 1 3 
2 3 1 
3 2 1 
2 1 3 
2 1 3 
1 3 2 
1 3 2 
2 1 3 
2 3 1 
2 3 1 
1 2 3 
1 3 2 
2 1 3 
3 1 2 
1 3 2 
2 1 3 
1 2 3 
2 1 3 
1 3 2 
1 3 2 
2 3 1 
1 3 2 
3 1 2 
2 3 1 
3...

result:

ok 166666 cases (166666 test cases)

Test #29:

score: 0
Accepted
time: 1128ms
memory: 19256kb

input:

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

output:

1 3 2 5 4 7 8 6 
7 5 6 1 8 3 2 4 
1 3 2 6 5 4 8 7 
2 8 3 6 4 1 7 5 
1 3 2 6 5 4 8 7 
5 7 4 3 6 1 2 8 
1 3 2 5 4 7 8 6 
8 6 4 1 5 7 3 2 
1 3 2 5 4 7 8 6 
7 4 8 3 2 6 5 1 
3 1 4 2 6 5 8 7 
5 3 1 6 7 8 2 4 
1 3 2 5 4 7 8 6 
4 5 2 7 6 3 1 8 
1 3 2 5 4 7 8 6 
2 7 5 4 1 3 8 6 
1 3 2 5 4 7 8 6 
2 6 8 1 4 3...

result:

ok 125000 cases (125000 test cases)

Test #30:

score: 0
Accepted
time: 241ms
memory: 19256kb

input:

100000
1 10
klhmhvkswy
wykjhmhvks
1 10
uqieigoabd
qieigoabdu
1 10
bunljqpvov
vbunljqivo
1 10
ytkmhxtntc
xtntcytkmh
1 10
lufmlhxbvz
ufmlcxbvzl
1 10
cuemsefukn
sefukncueq
1 10
oomyzzliuk
zzliukoomy
1 10
piekrxtsag
rxtsagpiek
1 10
pwhbveolnf
nfpwhbveol
1 10
wsyjzqnbtj
jzqnbojwsy
1 10
iqayiqecea
aiqaytq...

output:

-1
1 
1 
-1
1 
1 
-1
-1
1 
1 
1 
1 
1 
1 
-1
-1
1 
1 
-1
-1
1 
1 
1 
1 
-1
1 
1 
-1
-1
-1
-1
-1
1 
1 
1 
1 
-1
1 
1 
1 
1 
-1
1 
1 
-1
-1
1 
1 
-1
1 
1 
1 
1 
-1
-1
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
-1
1 
1 
1 
1 
1 
1 
1 
1 
-1
1 
1 
-1
-1
-1
1 
1 
-1
1 
1 
-1
-1
1 
1 
-1
-1
-1
1 
1 
1 
1 
-1
-1
1 
1 
...

result:

ok 100000 cases (100000 test cases)

Test #31:

score: 0
Accepted
time: 354ms
memory: 19352kb

input:

28571
7 5
rpdbr
kijbw
qotha
wvxmn
frbey
tdjed
vqpoy
havot
bwfrb
edrpd
mnkij
eyqqp
oytdj
brwvx
7 5
pecul
iozuk
kxkfg
ivcha
erold
abatw
otvoe
otvoe
kxkfg
abatw
ivcha
pecul
erold
iozuk
7 5
qmwhz
odnhu
dkzle
roeec
xftep
axzal
kgusp
ecdgu
huxft
epqmw
lekkz
alroe
hzaxz
spodn
7 5
aefno
popfk
shavv
cvhdy
na...

output:

-1
4 5 6 7 2 1 3 
4 6 3 1 7 5 2 
-1
1 7 4 6 3 5 2 
5 4 6 1 7 2 3 
-1
1 3 2 6 4 5 7 
2 4 6 1 3 5 7 
1 6 3 2 4 5 7 
4 3 7 6 5 2 1 
-1
1 5 6 7 2 3 4 
7 3 1 5 2 4 6 
-1
-1
1 3 6 7 2 4 5 
3 2 7 1 5 4 6 
6 4 2 1 7 3 5 
6 2 4 7 1 5 3 
-1
7 5 2 4 6 1 3 
7 3 4 6 1 2 5 
5 1 3 2 6 4 7 
2 1 5 3 4 6 7 
6 5 3 7 4...

result:

ok 28571 cases (28571 test cases)

Test #32:

score: 0
Accepted
time: 292ms
memory: 51012kb

input:

1
1000 1000
plxpgukngtaywjrcxufvdwswaozxzeeduaeqslxuzcevplzosuqsedbplkmzbpyogbndbzmyfeyqamtetcjmaosbaxcrmjanjeglavxlwksvvenehzgrovffaebdtpynzajedywisavqgjjtjnqktzltyfzbvrtsfmdkzsyougzyqcckjcjjtkewysagddaizqnnptunmfyqagnxrzjqpsoqzqptzvjnfilpbgmjbetcgnewclwqxmftpepudwufcmbqtpyxajfmabqyvlgqxzhgumauzxms...

output:

-1

result:

ok 1 cases (1 test case)

Test #33:

score: 0
Accepted
time: 473ms
memory: 313016kb

input:

1
500000 2
bh
nk
zd
bw
cc
la
zr
if
ts
tq
nz
td
rv
th
nw
az
pa
qy
cq
uu
rk
sl
du
ll
jn
fw
qm
rw
va
ii
as
hw
wo
vt
zi
yt
wx
xd
en
ws
we
rw
gk
lp
hh
qp
fj
cu
uu
bp
uq
ge
lb
sa
hg
yx
gm
cu
tr
wj
ws
ei
cv
ct
wn
at
ju
mo
bm
ht
ep
ul
jt
yw
wu
ml
sh
vt
kp
ha
ws
qy
pn
nz
aq
wa
my
mf
bq
ff
xo
br
uc
pt
ne
ya
i...

output:

499845 498833 496095 495982 495564 494776 494534 494023 493988 492491 491777 489879 488398 488360 487582 486826 486514 486465 485918 485652 485174 484094 483175 482337 479146 478473 477867 477812 477530 477017 476682 475017 474350 472525 471992 471856 471785 471693 471023 470217 469266 468703 467924...

result:

ok 1 cases (1 test case)

Test #34:

score: 0
Accepted
time: 647ms
memory: 571052kb

input:

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

output:

999972 999970 999962 999961 999941 999868 999763 999759 999728 999721 999672 999649 999621 999610 999532 999507 999502 999419 999415 999403 999387 999377 999352 999316 999285 999246 999223 999218 999174 999127 999100 999083 999003 999001 998966 998963 998949 998941 998896 998887 998846 998771 998719...

result:

ok 1 cases (1 test case)

Test #35:

score: 0
Accepted
time: 132ms
memory: 51584kb

input:

1
2 500000
yoskytdthibiosryionvxhjbnvwyrumjrmogzlngtxwkyxpketeperfdqboobxcccofgoxsjjffgdymvbhrnmcfiresutjbeadpbwuyxbirokynuisiezakhyivnbelkoexbfertmmmpjyerxyrnxvseyyipjqexidomwdzwqgqopwvnguawlvdyqgpsoxuliobzndxyfondeygqyxujboqcmqmwlptkpxflccjwfbzvwjkmddqxuenqirajuqplwjfyumjycekqzgavjrpanuxixmwlmnnvv...

output:

2 1 
1 2 

result:

ok 1 cases (1 test case)

Test #36:

score: 0
Accepted
time: 79ms
memory: 52136kb

input:

1
1 1000000
vvzoohphaekmooymvzpvxqaxbgyabgrgrdetsieivthqtvackeaapshmaybrwivlzjtjymeqmjqjoioeknzlajdqeptnywzscjthxqahapfnktonvxbyridjhokyielyfuzzgciiulnuetgfmdppmpywhoouwbbwyhlufupqwkhjubvkplfbzxiegngnewwfpupzypskuhtopvqzczthyaxpepvbkhvitkxgopxprykcrbjnuiideigftkhgzpykkoijuiquebxaaiwaabuxssgqgsofmiid...

output:

1 
1 

result:

ok 1 cases (1 test case)

Test #37:

score: 0
Accepted
time: 159ms
memory: 52904kb

input:

1
1000 1000
nnnaamfktzgakyenqodpbujtlowzoloijjqorpyvgfbujjivqhgrvcsuajhkfnxfrtrrhfanoutnxetnhowuknugksqgbtpyixedmyepfgyluqjvgadnsosbevsprmupvmymsmohjpimcbgkrybnnlrgqewddkotengibpfdpfqbehofyslubivwusaxzjnbbuczjponsogapfzqnshokuerpwuewcedjmtykebmibjanhyfhvuieexfxijacmpkqatvctadngmkuefrfqthukhywwqllwwy...

output:

734 851 816 135 338 77 380 277 459 678 609 617 899 870 877 774 1000 471 445 27 235 658 826 245 953 982 30 358 217 883 721 410 118 311 844 959 927 36 496 527 866 561 355 127 49 896 878 454 390 303 940 377 300 951 474 975 564 226 391 422 675 150 977 598 295 451 948 400 549 580 270 571 929 667 638 276 ...

result:

ok 1 cases (1 test case)

Test #38:

score: 0
Accepted
time: 596ms
memory: 313756kb

input:

1
500000 2
lm
hm
wf
rl
ze
qc
ku
dz
is
dg
lc
kw
ys
ho
re
gu
pb
on
oe
wc
ya
kx
zh
fg
lb
fn
ys
ci
da
ta
mg
nc
qj
tx
tn
zw
gu
na
ee
oa
qm
zz
hx
rs
fl
bz
ik
fm
sq
xr
tf
id
lh
bk
sw
qx
lw
aa
bx
cg
ns
vl
bg
im
qp
pc
rh
pa
ns
kf
la
pl
am
sz
xs
xq
uc
wf
lz
iq
ok
mh
wi
kj
ui
xl
na
fs
vg
wf
qg
rn
th
ju
rp
fs
w...

output:

498975 497162 496883 495725 495206 494789 494602 494542 494376 494017 492469 490438 488823 486117 485821 485543 485496 484894 482995 481960 481931 481509 480733 480480 479159 478612 477223 476279 474810 474705 473568 473482 472644 472116 471872 471366 471026 469776 469570 469436 467804 467230 467127...

result:

ok 1 cases (1 test case)

Test #39:

score: 0
Accepted
time: 634ms
memory: 571248kb

input:

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

output:

999930 999920 999913 999883 999873 999844 999817 999804 999732 999709 999703 999701 999697 999646 999639 999632 999601 999591 999584 999583 999506 999475 999457 999448 999436 999416 999409 999370 999342 999279 999275 999235 999225 999221 999208 999206 999182 999158 999147 999104 999064 999039 999035...

result:

ok 1 cases (1 test case)

Test #40:

score: 0
Accepted
time: 303ms
memory: 51436kb

input:

1
2 500000
csbazestpjffzjvrjztjidouhfewitwyhczwalacmlfmfpjozlnojeeltcyjkgbwpnzhzdeeublvjcgepkupvlqxhzkjfudcojhtxsrndyipgsuexhdjxodymiofmaxdkhsyallmorhqdrosgvzwvsgobotbwlwnqvohekjougktqmjaknocgtumjjvmtphfnoqrsrfgztpufvtnafmhmmcpxkrjyokgrlvaswhkkxfxguuakezavqkbkvnhjpycgvrsefranfttvrfnoaeempqhlsdzwtrvf...

output:

-1

result:

ok 1 cases (1 test case)

Test #41:

score: 0
Accepted
time: 80ms
memory: 52116kb

input:

1
1 1000000
zcgzehvspliuqlawrvemmxvlapmqsnpdieaqubpadgbsduckarfgikvmcphtdjtgczbfuivcjhpmwgaxoqvbmwldxvqwtcqizfyvxoahqcuyyvdgxzsohnkjblrwuyietchhqusxamzculyvhaqzoftboauhkdxnpxuxbljmftjtyrczfxxsbwkvzhehmwkhvbkjmnuypbjgibszsdtocihfzwuvdpvszccyroufgktzfytdkcrneuvelrcoufxvmxajvhlnikzfemppharjuwicizqodvrj...

output:

1 
1 

result:

ok 1 cases (1 test case)

Test #42:

score: 0
Accepted
time: 276ms
memory: 50976kb

input:

1
1000 1000
vkrkwbibcsuczrgypnuclsmvexjomqttgzmpebzbtmtltqyekywmlpmluwwmjjybbnztlxthcphhfayjjegghgyuippcrweyyzgjfnzemamafgtexvhxofarelxdoptwfohqrnjepcpxzkoepuluocahihxhqipydaiermnrbxjpkeundrirpdcalvbjyhhdazarjuwepzaiafcmbaxqlfqcnbzvlamfwgpqoutqvwhilaqswbqzvohiayenlifowexxzvuxrldswlfpjugwozxwzpxeqtkb...

output:

-1

result:

ok 1 cases (1 test case)

Test #43:

score: 0
Accepted
time: 468ms
memory: 313028kb

input:

1
500000 2
pa
fn
bi
ka
az
wj
sf
db
xb
ad
di
ur
he
dq
bv
zf
cw
yw
ha
to
hl
al
wi
pq
pq
ao
eh
ua
xo
oi
dw
nz
do
dn
oq
sd
bn
nj
fa
mx
vx
ss
pp
dz
jk
us
mv
ko
gk
wa
ju
em
bc
tp
qx
cr
rh
ro
qx
vk
bm
ju
ir
kd
ny
gw
sg
js
qt
zi
uf
pg
md
du
he
qy
ur
ge
dp
ho
hb
ig
zi
dr
wq
ix
my
gz
tf
kb
ab
ye
zf
rx
cy
mq
o...

output:

499937 499911 499825 499301 498274 497259 497231 496913 496907 496806 495824 495802 494313 494155 493990 493979 493189 490426 489691 489591 489565 488788 487749 486662 484375 482359 479830 477595 477490 477403 477251 477040 476901 476145 475237 474753 474620 474432 474065 473577 472545 472496 471172...

result:

ok 1 cases (1 test case)

Test #44:

score: 0
Accepted
time: 644ms
memory: 574360kb

input:

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

output:

999972 999963 999955 999921 999898 999826 999813 999790 999712 999679 999613 999491 999424 999404 999398 999389 999362 999321 999274 999267 999261 999244 999236 999226 999199 999170 999146 999108 999103 999087 999067 999053 998992 998971 998878 998849 998785 998772 998749 998742 998673 998664 998650...

result:

ok 1 cases (1 test case)

Test #45:

score: 0
Accepted
time: 619ms
memory: 262468kb

input:

1
100000 10
ehlimdmwkt
jlrfzdjvam
jwtsqoiebv
mlksfsakmd
zamugzmeha
nxepoofxsh
idoigdreky
ugarhoilzd
oalhajmyfd
vfnxfsoasz
fymboaopqw
rgyhcdtcxm
nvgtvzxgqs
uhwapwajcq
udicenzrkr
jgeaupojpv
efrdqjgayp
yvqwqkaipk
jlsbzxdzeh
btdjgvxcqd
uqcoyaaohl
szcxibrkvc
yzyntbtiuo
lbwkorixzq
lfffvwuktb
euhjmdnptr
tb...

output:

88891 9228 61506 90037 57942 93790 12271 48732 20299 35472 93951 2255 61873 34185 52156 44254 36317 30318 35990 91369 43916 21117 30175 10407 89183 26559 87332 23498 5215 87074 72137 55209 33320 15734 83510 36224 3338 60713 47944 96731 47819 33729 43975 98868 68985 69983 80390 3432 66942 91063 18355...

result:

ok 1 cases (1 test case)

Test #46:

score: 0
Accepted
time: 443ms
memory: 244744kb

input:

1
100000 10
mqpzaypqsg
rybikrqyzx
gxcfzgdglt
sszegicsli
oxzpnucwde
ezkskhdmiu
lqsgzsxckw
jlglibuvpi
ctqjnskviw
yqhiaisjxf
mpmgtaupwp
swrhvwtxpg
wcgchdtjyk
hynexzwpxj
veaomhaxnn
bluwuxnmyj
zeefjdwksv
lgegdqxuyt
ezkpautemn
ykbpibnfsp
ddbtafikzb
cetuawmhwo
epwldttkrv
lytomstlzm
wugxtmlmzf
atathrowwp
sv...

output:

92827 5092 21812 9122 91471 81944 57399 15168 88826 27182 41339 92460 96439 32008 59189 71699 63097 8043 10224 12096 97249 42081 27807 78897 42431 73756 52944 99089 37212 80228 88320 77769 74005 86063 95317 9929 99593 86034 29637 64725 3785 72381 8614 58218 49741 23813 40248 12111 7405 65825 13 4640...

result:

ok 1 cases (1 test case)

Test #47:

score: 0
Accepted
time: 281ms
memory: 162128kb

input:

1
200000 5
untrg
qewwk
zdlct
ltaki
tegsd
pllgg
jvwkk
pkcru
donwe
elvdq
crquy
yqlbl
yalff
rwhfy
xlsqg
vzjww
vjdni
vevwr
njecm
onvvj
ldfjq
ypgae
vuuvu
jxgce
weone
hnklb
hkkyw
tuwyp
kgcad
octvg
gfkei
ovmql
kxzta
npvrv
pxenv
hklvf
sfzso
blanl
jigxz
uqcrk
lbehm
cxwbq
ymdzw
hmvpk
wjdqq
kpfls
rktrp
ogdhs
f...

output:

-1

result:

ok 1 cases (1 test case)

Test #48:

score: 0
Accepted
time: 2621ms
memory: 235936kb

input:

1
100000 10
fxhzgdmpvu
rbapkxuwdz
rcbtjgzlqz
vuwjdihqwk
brwenfhpot
cazbgafcaa
ylyhnyrgwt
sixsqzjakz
qdxsdrthuu
zdrwkcqqdk
xluoyqriep
wpcqewlpfo
ebcmamyzmt
fanzqaxbew
ikmsqafyun
xczrzagmdn
bbsvmsrtph
sjtudpeyqj
kdvxgfnozj
pnbefumkkh
xjahjflidu
begdvasklf
xcragpudlh
pkugzyrpgn
dtlznmvred
supuawndia
xa...

output:

18981 76277 84902 36245 26889 81246 50873 99410 46273 47621 59066 56577 20378 57865 18527 71819 88596 89784 6399 4047 28453 36716 10362 60477 12681 2944 26691 26266 94135 26664 69180 41792 16387 15805 96073 84594 43017 85519 12268 38111 77786 44070 63323 78635 35335 26680 99807 50121 2249 52816 6703...

result:

ok 1 cases (1 test case)

Test #49:

score: 0
Accepted
time: 322ms
memory: 158152kb

input:

1
200000 5
rdaxv
rqwti
srbck
qdtal
ltoxk
ughkh
sywke
cigmu
fioqb
gnycn
cexck
tcekr
byyqn
cgokp
ausjo
ubsgq
sxouf
xxvnu
drjqw
nvaul
ashzf
scexc
ueyta
ryyny
xotaf
prjgo
hjfrk
alqrp
zggry
xrivg
wislr
lzygn
lleum
utbzq
dzbpn
kmkvp
bacqh
kdfik
xaqru
aeeem
otmht
exrjh
poyfh
rgggk
mhbof
kqyzm
czill
oygax
c...

output:

-1

result:

ok 1 cases (1 test case)

Test #50:

score: 0
Accepted
time: 303ms
memory: 51796kb

input:

1
2 500000
tossrwlzkdzzrphwvvnkmdevslssgacszrojwkxgorcupejhwfybmoyegfhulclkqadmdjpfccnbxhsumeffzhfowyhxqqpdrjguansbqlyuglodfwxjphusmwlevcmpjfcbrjbmdbsqovuljaxqfeorcmgjsbwxappqwsuacmjtyhjubdjyevglxpkektgumdrvtwkuzdiyznzactijqouerxfqatzcwjqserfliiqihufyinagdbqglcnqttlhkebmezdjcfvdcmcjgqhygbxmvzndqnywm...

output:

-1

result:

ok 1 cases (1 test case)

Test #51:

score: 0
Accepted
time: 187ms
memory: 52036kb

input:

1
1 1000000
aqfomtfebdjjikpwsgohpqhvbrasmasgmocifvxczotxorlguxtriaftafotynozikgxytfzuztzapeayssibygltogshsbfwlfcqzbfkleizodgzztxzaysqtsvokwictzyehplvlkpucyizyrcimlczpucivarsihznzqmkjyuhajkgasakdeechddnrezbboozngkyxrjkzfgdlzjewmzhfwmfzguwukeeaambyszysderzrbbbdraxbdpqrurmztoepgptyjtbnrwpyntoagemsfeari...

output:

-1

result:

ok 1 cases (1 test case)

Test #52:

score: 0
Accepted
time: 597ms
memory: 340112kb

input:

1
100000 10
kxlhbmfknl
mldtlbegjo
roglqswqdz
fkcfeioyrf
varxnuxhyk
yputtwlqnj
qjfqxkpbug
thnarwcjpt
oqfpxygtat
hagzhuqeem
bwnnbeweqg
semgcubiaz
zoomamfsyb
lhocxkgyvp
nzqeqkhpes
hhhqaraqjq
mdcgqoqgbp
gvsxjqnvjv
sfkoamvaor
sngtozdbrc
yrhpdcfhhf
eptkmcorhi
hwszrfyvqr
xemzcudvkz
rjklevonsv
vnpmsgqdcb
sy...

output:

82007 23242 97094 5069 90669 82242 99566 40516 6986 21174 82455 46206 11842 80654 35898 56938 93674 87061 13173 22597 26749 54639 78681 34189 25029 94060 23254 89737 78043 72268 77974 20811 22081 57512 25676 54253 67108 14334 8029 98487 23167 50343 39249 95406 36840 83950 8107 99773 30516 69565 3055...

result:

ok 1 cases (1 test case)

Test #53:

score: 0
Accepted
time: 364ms
memory: 143960kb

input:

1
100000 10
dplijbwkgs
yigahsojnn
ftafmnroiu
gklxajdgis
lkkiioljfz
mkckxjukta
rwxjqmbddd
opvmalbpzl
ngobvwffjt
ziszyyrvkb
hxjvrmnlnm
pcytdvmvcb
jyzqhxxzpd
ykfcpnynxt
tqfqojtyoc
cyphatoadm
nsibkreiqr
sjujphkbwv
wdccnduvvj
gefgntmint
qodiytabxc
vpeltdzowm
fppmxjflkq
vhohdpiocs
vuudozaxuh
uoonxsqeko
iq...

output:

-1

result:

ok 1 cases (1 test case)

Test #54:

score: 0
Accepted
time: 719ms
memory: 336520kb

input:

1
100000 10
qyjclrjhcv
hrexdepsrh
drbmgtcoed
twbslhlapq
tocwgicnrn
ndudcbqcoz
eunlkqeugj
ictesjwnlv
ukatawfiji
dktfpbehwi
yggzqhuccl
oznogatwir
efcduoftki
ojyrolvatq
fkpbtdwpmj
lliymvqkws
taqnrqowtg
uzfiimgmkz
lmavtcmajn
hagghgkdro
eprquadsxn
ztmzpejqea
vzitenazyw
nhcbbtdnuu
frafncvjoy
javzrcwaus
ap...

output:

32628 30193 91615 23422 96484 1009 61424 74060 25830 85791 97979 61429 23304 27444 83141 76732 41369 67548 96438 11519 40968 68424 41967 12482 71674 99435 58324 87594 15162 62889 1079 87999 63267 9735 8458 16570 58332 72163 10268 43020 61573 28088 62191 61443 11252 47304 86670 57571 21885 80697 4539...

result:

ok 1 cases (1 test case)

Test #55:

score: 0
Accepted
time: 418ms
memory: 144216kb

input:

1
100000 10
sypalllczm
fyvwvgicyp
jqomdiqcfp
aeaaztogli
imxeiuthuk
ydkrfpfmft
udmkztmwfe
ohyczkizug
fzjyyniywg
itrowixklc
tussdfceqf
evpuvluxpg
iluimcnpco
olstppvixo
dvdpowweue
hxiodpcvjl
xhflfalebb
vpfsjldkqf
dfjslcblpv
dzfptmeyqv
rvgrnefzaj
illzbltjxb
xbbdvyufbw
frovlztkno
gsylowileo
zasbhsaiku
rw...

output:

-1

result:

ok 1 cases (1 test case)

Test #56:

score: 0
Accepted
time: 588ms
memory: 339560kb

input:

1
100000 10
jghpqhzbwn
khmnmmjces
evcbszdsee
cpedxvljuc
bijisgizio
lwybtheziw
azeowrjbes
bvcakdyowl
hqrgrmdxkv
latrynwkve
zbwrfmlfzl
bwsrqcxufw
mlxgssthvv
tbnlrnnagy
fumhlmrrsc
klisexvqbh
fuhiznqnbs
gydnvmatzs
kddgnpybzt
lqtposlfrf
teyereqlki
phffqzyxsk
zivoiupzye
fhyewkrofw
vmhqdpsznj
kkfzikuoop
fd...

output:

28335 94041 12772 44854 86252 41193 4638 2889 684 72994 57673 67015 93313 94 31897 92029 9739 35529 97561 28110 74809 83513 45980 9521 38924 30465 85312 67036 62086 99489 97262 22318 28194 14751 63444 6553 25632 7641 12004 97960 65397 26564 17557 16202 28177 70198 15737 23724 53498 32800 6167 73716 ...

result:

ok 1 cases (1 test case)

Test #57:

score: 0
Accepted
time: 674ms
memory: 336924kb

input:

1
100000 10
ajdomreiyg
awhziinfwu
gtqxnxstjq
acgalthnvc
rlnbmtemxi
ouqfgtxjel
zrpqnultuj
ajpfxgstzw
ugccienqit
cgyjlqfkma
fvvzhsruhh
xzvtqxdzfx
bzklilivkt
vracwjjijn
pijsxthpiv
sloandhcmh
uezrrpwwrp
qizguxpvwx
fgfwudmpmw
zmddapzqly
fvxavrqcax
pstjlrahls
zaewasovpv
wxbnphincw
bcauhtuzyg
svvtswoswv
sy...

output:

19065 77868 64832 16912 7723 48856 51948 16214 89843 6421 9042 41681 13749 21586 60919 16721 49339 34449 74499 55878 23957 4172 65083 80694 65275 89312 70297 90833 77298 39600 53644 57011 14323 67345 12028 90657 64260 57616 44520 90025 7362 46084 76137 81173 71755 63635 51094 94273 5549 19647 54655 ...

result:

ok 1 cases (1 test case)

Test #58:

score: 0
Accepted
time: 831ms
memory: 244980kb

input:

1
100000 10
otqeflvutp
ktjpzyjlbe
utqhsjbhxi
jmmcfrwiml
vfxvqrdzdk
aenkvqbzpo
bfdzgohawd
vdsqzihcsw
jicioserdw
eberxkmhko
vsmxkcsymw
aunqxqooio
fuserissyp
powkmizyqg
pklrsxredz
kvwierqibi
wrzusyeiou
odjaxqedqv
xxntmrkafl
wkgkolzgdv
jxwmcpjiya
pxyhhfzjsh
ewcjkdaymm
taklqmzazs
mwvlhirbzn
lfzultiztz
sn...

output:

46348 47194 833 88447 27073 32876 67016 74179 55359 82738 70625 62031 15494 48714 46601 98119 30371 27288 54571 1372 60242 18845 63997 63514 56630 23626 3458 78540 30185 10550 9690 99004 71219 62209 44136 26313 14096 93548 65470 35101 17293 69343 76793 87259 87452 42207 20211 57057 61701 89611 12300...

result:

ok 1 cases (1 test case)

Test #59:

score: 0
Accepted
time: 427ms
memory: 142016kb

input:

1
100000 10
uxfboqjiml
urguovogte
hlfrgfwgkz
lnaljmgocb
cbkdynsxzg
jfggokuktr
fgeeeayprq
glgeqdexax
ccwqbwaake
pexvcckyid
rjvzlorehp
jwrolcaeqq
pwftjauyxv
dtblxopysv
pmvikikgse
pldtousdqo
tgenvzvdnr
payixpmmjr
urkthfeotj
pqomqonmqf
wsnfwcbqce
ynjhtrkmcg
nqjuozngbr
ombhjkloow
fxbwspocpf
ovcbrjolwn
yn...

output:

-1

result:

ok 1 cases (1 test case)

Test #60:

score: 0
Accepted
time: 597ms
memory: 299684kb

input:

1
100000 10
ipzgqbnfvd
sgfrlagntk
gwwweijzea
fxpgdtxgti
waobttsufl
nrdslhdkxf
ssrwruilxq
pdglmfvowa
azjbrlhzff
pchtakzdkl
ajsqpedcoy
pjsukcypln
fiognbhmxj
agpmnzvnms
ikdnsabypt
zaotlspbvj
nummgjsshd
mtteglneuy
eopvrvdxtb
nuwnziuqyv
pmqxpafghb
krwuxxunvh
dnumirddbi
oyiyooimqd
zmlwgndkny
ybxqktsjpq
kv...

output:

-1

result:

ok 1 cases (1 test case)

Test #61:

score: 0
Accepted
time: 784ms
memory: 245076kb

input:

1
100000 10
vhntzmzfjq
lpkanhwnma
hnshcjeytm
rroumhwnmt
jeweevjgqp
bsegdybxio
rwtjvtvlko
fmpcrdsdes
edijyqpurg
zghldxztvl
xbcsrduzmx
tguxmkqcfz
bajotxtuii
zsfgpkokbg
xrgnvbpctc
clxyepehzt
veudydfurf
mavbkeurwo
nfmwtnwspx
uahthuvvxc
vdaadmfinf
kyhxwovgtv
jnqppwnuvt
hiepfckmpa
oxrklvvyof
iintishepc
eq...

output:

29248 70301 59455 17579 63286 58965 69695 3721 41550 69191 35272 27124 11947 41541 33150 56926 58741 24852 29030 46409 85922 79381 79849 72121 86282 65174 73025 9309 35547 2654 45445 22842 35201 92668 29681 73394 86553 70060 11229 3585 50328 75430 30084 78398 29763 68677 82442 86963 81225 70004 6930...

result:

ok 1 cases (1 test case)

Test #62:

score: 0
Accepted
time: 702ms
memory: 337060kb

input:

1
100000 10
uudwzdlejj
ivabpznlij
uqnmtxmmgg
ntzanognix
qdgoodcnun
pekrqklkez
eejprmjekr
pwblriymwp
rievkuhrez
npbdnosxjq
eoeicddyic
hotgqnlmge
iygqxwlogm
pnsgildmtr
rqkpassked
qpsqosjzsm
phxkunmotd
oohtwpcpli
ejeiosheqn
rzrjlvpkfa
ynajbomlnb
awxowbwzxx
hfajxtyefh
ulxeladiwo
mroseowqdn
fszffsdlmi
lm...

output:

28093 18219 90477 77525 3282 58710 80329 37980 94367 43540 43676 60266 16193 15789 41819 50397 46687 85200 84009 65860 78984 32927 84576 4022 16371 57504 75875 97650 32656 3887 53279 30427 68339 95068 10974 39801 23275 37463 69473 62525 43811 62970 86151 61560 4887 4723 34887 87356 13405 3755 82405 ...

result:

ok 1 cases (1 test case)

Test #63:

score: 0
Accepted
time: 434ms
memory: 144140kb

input:

1
100000 10
akvvptzhlm
ukqiqwgjxr
raftyctsec
tljopwxqgm
odkoyjszvv
vuuxpzuwty
vugkbhgrbq
mghdhtbdmh
cmlrrcpkrj
fropiipnog
fippflholr
hxvyifxfhi
dstwpsdbxl
zekzumxmnr
qywqzyxvln
jacdvjvczu
dpmjugphun
hhrhfdjzkx
jfwnfjfokw
ygziaihrgd
ybrhjiwfaj
nketysvhiu
sydarvrsdv
zlhwpjkvmc
ynaolmsimg
tgjfocrgba
kh...

output:

-1

result:

ok 1 cases (1 test case)

Extra Test:

score: -3
Extra Test Failed : Wrong Answer on 5
time: 0ms
memory: 19564kb

input:

1
1 2112
abbabaabbaababbabaababbaabbabaabbaababbaabbabaababbabaabbaababbabaababbaabbabaababbabaabbaababbaabbabaabbaababbabaababbaabbabaabbaababbaabbabaababbabaabbaababbaabbabaabbaababbabaababbaabbabaababbabaabbaababbabaababbaabbabaabbaababbaabbabaababbabaabbaababbabaababbaabbabaababbabaabbaababbaabb...

output:

1 
1 

result:

wrong answer not cyclic isomorphism (test case 1)