QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#934174#10093. Jump the FrogtemmieRE 65ms44044kbC++205.9kb2025-03-14 15:09:432025-03-14 15:09:43

Judging History

This is the latest submission verdict.

  • [2025-03-14 15:09:43]
  • Judged
  • Verdict: RE
  • Time: 65ms
  • Memory: 44044kb
  • [2025-03-14 15:09:43]
  • Submitted

answer

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

const int MAX_N = 2e5+10;
const int INF = 2e18;
const int MOD = 998244353;

// declare
int n, k, q;
string tmp;
vector<pair<string, string>> v;

struct Matrix{
    int n, m;
    vector<vector<int>> arr;

    Matrix(int _n = 0, int _m = 0){
        n = _n;
        m = _m;
        arr.assign(n, vector<int>(m));
    }

    vector<int> & operator [] (int i){
        return arr[i];
    }

    Matrix operator * (Matrix b){
        Matrix ret(n, b.m);
        // assert(m==b.n);
        for (int i=0 ; i<n ; i++){
            for (int j=0 ; j<b.m ; j++){
                for (int k=0 ; k<m ; k++){
                    ret.arr[i][j] += arr[i][k]*b.arr[k][j]%MOD;
                    ret.arr[i][j] %= MOD;
                }
            }
        }
        return ret;
    }

    void print(){
        for (int i=0 ; i<n ; i++){
            for (int j=0 ; j<m ; j++){
                cerr << arr[i][j] << " ";
            }
            cerr << "\n";
        }
        cerr << "\n";
    }
};

pair<string, string> get_prefix_and_suffix(string &s){
    pair<string, string> ret;
    ret.first = tmp.substr(0, k);
    if (tmp.size()<=k) ret.second = tmp;
    else ret.second = tmp.substr(tmp.size()-k);
    return ret;
}

Matrix convert(string &s){
    int h = min((int)s.size(), k);

    Matrix ret(h, h);
    for (int i=0 ; i<h ; i++){ // 枚舉從誰開始
        vector<int> dp(s.size()+100);
        if (s[i]=='~') continue;
        dp[i] = 1;

        for (int j=i+1 ; j<s.size() ; j++){ // 枚舉其他人
            for (int p=1 ; p<=k ; p++){ // 枚舉要走幾步轉移
                if (s[j]=='O' && j-p>=0 && s[j-p]=='O'){
                    dp[j] = (dp[j]+dp[j-p])%MOD;
                }
            }
        }
        for (int p=0 ; p<h ; p++){
            ret[i][p] = dp[(int)s.size()-h+p];
        }
    }

    return ret;
}

Matrix convert_mid(int idx1, int idx2){
    int n = v[idx1].second.size();
    int m = v[idx2].first.size();
    Matrix ret(n, m);
    for (int i=0 ; i<n ; i++){
        for (int j=0 ; j<m ; j++){
            if (v[idx1].second[i]=='O' && v[idx2].first[j]=='O'){
                int dis = (n-i)+j;
                if (dis<=k){
                    ret[i][j] = 1;
                }
            }
        }
    }

    return ret;
}

vector<Matrix> m;

vector<int> len;
vector<string> strings;

void solve(){

    // input
    cin >> n >> k >> q;
    v.resize(n+1);
    m.resize(n+1);
    len.resize(n+1);
    strings.resize(n + 1);
    for (int i=1 ; i<=n ; i++){
        cin >> tmp;
        v[i] = get_prefix_and_suffix(tmp);
        m[i] = convert(tmp);

        len[i] = min((int)tmp.size(), k);
        if (len[i] <k) strings[i] = tmp;
    }

    // for (int i=1 ; i<=n ; i++){
    //     cerr << "i=" << i << "\n";
    //     m[i].print();
    // }
    // cerr << "\n";

    // queries
    for (int i=0 ; i<q ; i++){
        int x, y;
        cin >> x >> y;
        len.push_back(min(k, len[x] + len[y]));
        pair<string, string> xx = v[x], yy = v[y];
        pair<string, string> p;
        if (xx.first.size()+yy.first.size()<=k){
            p.first = xx.first+yy.first;
            p.second = xx.second+yy.second;
        }
        else {
            p.first = xx.first;
            p.second = yy.second;
            int ptr = 0;
            while (ptr < yy.first.size() and p.first.size() < k) {
                p.first.push_back(yy.first[ptr++]);
            }

            ptr = xx.second.size() - 1;
            while (ptr >= 0 and p.second.size() < k) {
                p.second.insert(p.second.begin(), xx.second[ptr--]);
            }
        }
        v.push_back(p);
        if (len.back() < k) strings.push_back(p.first);
        else strings.push_back("");

        if (len[x] +len[y]<k){
            m.push_back(convert(p.first));
        }
        else if (len[x] < k or len[y] <k) {
            auto r = m[x] * convert_mid(x, y) * m[y];
            if (r.m < m[x].m) {
                // m[x] no right (k - r.m)
                Matrix asdad(m[x].n, m[x].m);
                for (int i = 0; i <m[x].n; i++) {
                    for (int j = 0; j <m[x].m; j++) {
                        int t = m[x].m - r.m;
                        asdad[i][j] = j < t ? m[x][i][m[x].m - t + j] : r[i][j - t];
                    }
                }
                r = asdad;
            }
            if (r.n < m[y].n) {
                Matrix asdad(m[y].n, m[y].m);
                for (int i = 0; i <m[y].n; i++) {
                    for (int j = 0; j <m[y].m; j++) {
                        int t = m[y].n - r.n;
                        asdad[i][j] = i < r.n ? r[i][j] : m[y][i - r.n][j];
                    }
                }
                r = asdad;
            }
            m.push_back(r);
        }
        else{
            m.push_back(m[x]*convert_mid(x, y)*m[y]);
        }
        assert(m.back().n == m.back().m and m.back().n == len.back());
        // cout <<"--------------------------\n";
        // cout <<"i,x,y=" << i << ' ' <<x <<' '<<y <<'\n';
        // m.back().print();
        // cerr << v[x].second << " " << v[y].first << "\n";
        // convert_mid(x,y).print();

    }

    // preview
    // cerr << "============== m =============\n";
    // for (int i=1 ; i<m.size() ; i++){
    //     m[i].print();
    // }
    // cerr << "\n";
    // cerr << "============== v =============\n";
    // for (int i=1 ; i<v.size() ; i++){
    //     cerr << v[i].first << " " << v[i].second << "\n";
    // }
    // cerr << "\n";

    // output
    for (int i=1 ; i<v.size() ; i++){
        int n = m[i][0].size();
        cout << m[i][0][n-1] << " ";
    }
    cout << "\n";
    
}

signed main(){
    ios::sync_with_stdio(0), cin.tie(0);

    int t = 1;
    while (t--){
        solve();
    }
    
    return 0;
}

詳細信息

Test #1:

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

input:

4 3 6
O
~
OOO~~
~OOO
4 1
1 4
3 1
3 2
8 1
7 7

output:

1 0 0 0 0 3 2 0 0 8 

result:

ok 10 numbers

Test #2:

score: 0
Accepted
time: 39ms
memory: 27492kb

input:

1 1 100000
~~O~~~~~~O~~O~OOO~~~~O~~O~O~~~OOOOO~~~OO~~OOO~~OOO~~O~~OOOOO~~OOOOO~OO~OO~O~O~O~OO~~OOOO~~O~O~~~~O~OO~~OOO~~~O~~~OOOO~~~OO~O~OOO~~OOO~~O~O~OOO~~~O~O~O~OOOOO~~~~O~O~O~~~OOOO~~~O~~~~~O~~~OOOO~OO~~~~~OOO~O~O~~OO~OO~O~O~~~OO~O~OO~~O~O~~O~~OO~~OO~O~~~O~OO~OO~~~OOOOOO~~~~~~OO~OO~OO~~OOOOO~~O~~O...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100001 numbers

Test #3:

score: 0
Accepted
time: 42ms
memory: 27604kb

input:

1 1 100000
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 100001 numbers

Test #4:

score: 0
Accepted
time: 43ms
memory: 34448kb

input:

2 1 100000
O~OO~OO~OOOOOOOOOO~~OOO~~~~~~OOOO~O~~~OO~~O~~OO~~O~O~OOOO~~~O~OOO~~~~OO~OOOO~~OOOO~~O~O~O~~~~~~OOOO~~O~OO~~OOOOO~O~O~OO~OO~~O~OO~~OOOO~O~~OOOO~OO~O~~OOO~~O~~~OO~O~~OOOOOO~~O~~~O~~OO~~O~O~OOOO~~~OOOOOO~OO~~OOOOO~~~~O~~~OO~O~~~~O~~OOO~~~~O~~~~~O~OO~~~O~O~~OO~O~OO~~~~O~O~O~OO~~~~O~OO~~OO~OOO...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100002 numbers

Test #5:

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

input:

2 1 100000
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 100002 numbers

Test #6:

score: 0
Accepted
time: 56ms
memory: 44044kb

input:

100000 1 100000
O
~
~
~
O
~
O
O
O
O
~
O
~
~
O
O
~
~
O
O
~
~
~
O
~
O
O
~
~
~
~
~
~
O
O
O
~
~
~
~
~
~
O
O
O
~
~
~
~
~
~
~
O
O
~
~
~
O
O
O
O
~
O
~
~
~
~
O
O
~
~
~
~
O
~
~
~
~
O
~
~
~
~
O
O
O
~
~
O
~
~
O
O
O
O
~
~
O
~
~
~
~
~
~
~
O
O
O
O
O
O
~
O
~
~
O
~
O
O
O
~
O
~
O
O
~
O
~
O
~
~
O
O
~
~
O
~
O
O
O
O
~
...

output:

1 0 0 0 1 0 1 1 1 1 0 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 1 0 ...

result:

ok 200000 numbers

Test #7:

score: 0
Accepted
time: 56ms
memory: 43984kb

input:

100000 1 100000
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 numbers

Test #8:

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

input:

1 1 100000
OO~O~~O~O~~~O~OOO~O~~O~~~OO~O~O~OO~OOO~~OOO~~O~O~OO~O~O~O~OOOOOO~OOO~~~OOOOOO~OO~~~O~OOOO~OOO~~OO~O~~~O~O~OOO~OO~~OOOO~O~~~O~~OO~O~OO~O~OO~~O~~O~~OO~~OOO~OOOOO~~~OO~OOOOOO~~~OOOOO~~~~~~~~~O~OO~~~~~O~~O~O~~OO~~O~~~OOOO~OO~OO~OO~OOO~~O~~OOO~OO~~O~~O~~~OO~~~~~~~~~~~O~~~~~~~O~OOO~~~~~O~~OOOOO...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100001 numbers

Test #9:

score: 0
Accepted
time: 40ms
memory: 26320kb

input:

1 1 100000
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 100001 numbers

Test #10:

score: 0
Accepted
time: 46ms
memory: 33388kb

input:

2 1 100000
O~OOOO~OOOO~O~O~OO~O~O~~O~~O~~OO~OOOOOO~O~O~O~OOO~~OOO~O~~~~OOO~OO~~OOOOO~OOO~~~O~~O~OOO~~O~~OO~~OO~~OO~~O~O~~~O~~~OOOOOOO~~O~~OO~~O~OO~O~~~~~~~OO~~~OO~OO~~~~~~O~O~OO~~~~O~~O~~OO~~O~O~~O~~~O~~~~OOOOO~~O~O~~~~OOOO~O~~~OO~O~O~OOOOOO~~~OO~OO~OOO~~O~OO~~~~OO~O~~O~~O~~~O~~O~~OOOOO~~OO~~OOOO~~~...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100002 numbers

Test #11:

score: 0
Accepted
time: 45ms
memory: 34728kb

input:

2 1 100000
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 100002 numbers

Test #12:

score: 0
Accepted
time: 59ms
memory: 44008kb

input:

100000 1 100000
O
~
O
O
O
O
~
O
~
O
~
O
O
O
~
O
O
~
~
O
O
~
O
O
O
~
O
~
O
O
O
~
~
O
~
~
O
~
O
~
O
O
O
O
~
~
~
~
O
~
O
O
O
~
O
O
~
~
~
~
~
O
~
O
O
O
O
O
~
O
O
O
~
O
O
~
~
O
~
~
~
O
O
~
O
~
~
O
~
~
~
~
~
~
O
O
O
O
~
O
O
~
~
~
~
~
~
O
O
O
~
~
O
~
~
O
~
~
O
~
~
~
O
~
O
~
~
~
~
O
O
O
O
O
~
~
O
~
~
~
~
O
...

output:

1 0 1 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 ...

result:

ok 200000 numbers

Test #13:

score: 0
Accepted
time: 57ms
memory: 43956kb

input:

100000 1 100000
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 numbers

Test #14:

score: 0
Accepted
time: 44ms
memory: 26388kb

input:

1 1 100000
~~OO~~O~O~~~OOO~~~OO~~~~OOOO~~~OO~~OO~OOOOOO~O~OOO~OOO~O~~~~~O~~~OOO~~~~O~OOO~OO~OO~OO~O~~OOOOO~~~OO~~OOO~~~OOO~~~~~OOO~~~~OOOO~~~~OOOOOOOO~~~OOOOOOOO~~~OOO~~~~~~O~~O~~O~~OOOO~~~OO~OO~~O~~OO~~~OO~OO~~~OO~~~O~~O~~~O~~O~OOO~OOOOO~~OOOO~~OOOO~~O~OO~OO~~O~OOOO~~~~O~OOO~~O~OOO~~~O~~~O~O~~~OOO~...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100001 numbers

Test #15:

score: 0
Accepted
time: 45ms
memory: 26672kb

input:

1 1 100000
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 100001 numbers

Test #16:

score: 0
Accepted
time: 42ms
memory: 36600kb

input:

2 1 100000
~OOO~OOOOOO~O~O~~~~O~~~OO~OOOOOOOOOOO~~~O~O~~~~O~O~OOOO~OOO~O~~OO~OO~~O~O~OO~O~OO~~O~~OO~~OOOOO~~~O~O~~O~~OO~OO~~O~~~O~~OOOO~OOO~~~O~~~OO~~~OOO~O~~~~O~OOO~OOOO~~~OO~~OO~~OO~O~O~~OO~OO~~~~OOOO~~O~~~O~OOO~~~OO~O~O~O~~O~~~O~O~OO~O~OO~~~~O~~~~~O~~OO~~O~O~O~~~~OO~O~~OO~~~OO~~~OO~O~O~OOOO~~~~OO...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100002 numbers

Test #17:

score: 0
Accepted
time: 44ms
memory: 34740kb

input:

2 1 100000
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 100002 numbers

Test #18:

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

input:

100000 1 100000
O
~
O
O
~
O
~
O
~
O
O
O
O
O
O
O
~
~
O
~
~
~
O
~
~
O
O
O
~
O
O
~
~
O
~
~
~
O
~
~
O
O
~
~
~
O
O
~
O
~
~
O
O
O
O
O
~
~
~
O
~
O
~
O
O
O
O
~
~
O
~
O
~
O
O
~
~
O
O
O
~
~
~
~
O
~
O
~
O
O
~
~
~
O
~
~
O
O
~
O
O
~
~
O
O
~
O
O
~
O
~
~
O
O
~
O
~
O
~
O
~
~
O
~
~
O
~
O
O
O
~
O
~
~
~
~
O
O
O
O
~
~
...

output:

1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 1 0 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 ...

result:

ok 200000 numbers

Test #19:

score: 0
Accepted
time: 57ms
memory: 44008kb

input:

100000 1 100000
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 numbers

Test #20:

score: 0
Accepted
time: 40ms
memory: 27484kb

input:

1 1 100000
OO~O~~~OOO~~O~O~O~O~~~O~~~~~~OO~O~OOO~~~OO~~OO~O~O~O~~O~~~OO~~OO~~O~OO~OO~~OOO~~~OO~OOO~OO~~~~~OO~~O~~~~~OOOOO~~OOOO~~~OOOO~~~OO~O~~O~~OO~~~~~OOOO~O~O~~OO~OOO~~OO~OO~OOO~~OOO~O~OOOO~~OO~~~~O~~~O~O~O~~O~O~~OO~O~O~~~OO~~O~O~OOO~~~~~O~~O~~~OO~O~~O~OOOO~~~~OOOO~~~OOOO~OO~OO~~~OO~OO~OOO~OOOO~O...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100001 numbers

Test #21:

score: 0
Accepted
time: 43ms
memory: 27444kb

input:

1 1 100000
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 100001 numbers

Test #22:

score: 0
Accepted
time: 42ms
memory: 33904kb

input:

2 1 100000
O~~~O~OO~~~~OO~OO~~OOOO~~O~O~~O~OO~O~O~~~~~~O~O~~OOOOOO~~O~O~OOOO~~~~OO~O~OOOOOOOOO~OOO~~OOO~~~~O~~OO~~OO~OOO~OO~~O~OO~~OO~OO~OO~OO~O~OO~~OO~~~O~OOOOOOO~~~O~O~~~O~O~~OOOO~OO~~~O~O~O~~OO~~O~~OO~OO~~~OO~O~~~OO~~~O~~~~~OOO~~OOO~OOOOOOOO~OO~OOO~~~OO~OO~~~OO~~~O~~~~OOO~~O~~~OO~O~O~~OOOOO~~OO~O...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100002 numbers

Test #23:

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

input:

2 1 100000
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 100002 numbers

Test #24:

score: 0
Accepted
time: 59ms
memory: 44008kb

input:

100000 1 100000
~
~
~
~
~
O
~
O
O
~
O
O
O
~
O
~
~
~
O
O
O
~
O
O
O
O
O
O
O
~
O
~
~
~
O
~
~
O
~
O
~
~
O
~
~
O
~
~
~
O
O
O
O
O
~
~
O
O
O
~
~
~
O
O
O
~
~
~
O
~
~
O
~
O
~
O
~
O
O
~
O
O
~
O
O
O
~
O
~
O
~
~
~
O
~
O
~
O
O
O
O
O
O
O
~
~
O
~
~
~
O
~
O
O
~
O
~
~
~
O
~
O
O
~
O
O
~
O
~
~
~
~
O
O
~
~
O
~
O
~
O
~
...

output:

0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 1 ...

result:

ok 200000 numbers

Test #25:

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

input:

100000 1 100000
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
...

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 numbers

Test #26:

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

input:

1 2 100000
O~O~~~O~~OO~~~~~~~~~O~O~O~OOOOOOO~O~OO~O~~~~OO~~~~O~~OO~O~~O~~O~OO~~O~OOO~O~OOO~OOO~~~O~O~~~O~O~~~~OO~~~O~O~OOOO~OOOOOOO~~OOOOO~~~OO~~~O~~OOOO~OO~~O~O~O~~OO~~OOOO~~~OO~~OO~~OO~~OOOO~OOO~~OO~~~~~~~~~~~OO~O~O~OO~O~O~OO~O~O~OOOOO~OOOOO~~~O~~OOOO~~~OO~~~~~O~~O~~OOO~O~OOOO~~~OOOO~OO~OOOOOO~~~O...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100001 numbers

Test #27:

score: 0
Accepted
time: 62ms
memory: 33108kb

input:

1 2 100000
OO~O~OOO~O~O~OO~O~O~O~O~O~O~O~O~OO~O~O~O~O~OOO~OOOOOO~O~OO~O~O~OO~O~O~OO~O~O~O~O~O~O~O~O~O~OO~O~O~O~O~OO~O~OO~OO~OO~OOO~OO~O~O~O~OO~OO~O~OO~OO~OO~O~O~OOOOOO~O~OOOOOO~O~O~O~O~O~O~O~OO~OOO~OOO~O~O~OO~OOO~OOO~OOOOOOO~OO~OO~OOO~O~OO~OO~OO~O~OOO~OOO~O~O~OO~O~OO~OOOOO~O~OOO~OOOOO~O~O~OOO~OOOOOO...

output:

584770932 270232371 756210933 772387482 136233983 418220891 391165723 887717843 615946836 61072880 140278511 273137928 865165599 755635373 498024843 17118832 626912381 690115575 971790177 462381828 981476819 329525295 261475827 217056346 822447630 225972065 178254664 100148191 343595515 831900390 53...

result:

ok 100001 numbers

Test #28:

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

input:

2 2 100000
~~OO~~OOOO~O~~~O~O~~~~~~O~OOO~OOO~O~O~OOOO~O~O~~O~OO~O~OO~~~~O~OO~~OOOO~O~~OO~O~OOOO~~~~~~OOOOO~O~O~~OOO~O~~OOOO~OO~O~O~O~OO~~~~~~~O~~OOOOOO~O~~~~~OOO~~O~O~~~O~~~OOOOOOO~O~OOOOOOOOO~~OOOO~~~~~~O~~O~O~O~O~~~OOO~OO~O~~~~OOOO~O~~O~O~~~O~OO~~O~~O~~O~O~OOOOOOOOO~O~O~OOOO~OO~~~O~~O~~O~OO~O~~OOO...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100002 numbers

Test #29:

score: 0
Accepted
time: 65ms
memory: 39868kb

input:

2 2 100000
OO~OOOO~OO~OO~OOOOOO~O~O~OO~OOOOO~O~OO~OOOOOOO~O~O~O~OOOOO~O~OOO~OO~O~OO~O~O~OOO~OOOOOOO~OOO~OOOOO~O~O~O~OOOOO~OOO~OOOOO~OOOOOOO~OOOO~O~O~O~OO~OOOOO~O~OO~OO~OO~OOO~OOOOO~OO~O~OOOO~O~OO~OO~OO~OOO~OOOOOO~OOOOOOO~O~OO~OOOO~OOOO~OO~O~O~O~OO~OO~O~OOOOO~OOO~O~OOOO~OOO~OO~OOO~O~OO~OO~O~OO~OOOOOO...

output:

362735133 53101000 666379450 767699405 19730649 364890404 354201941 266460178 858475380 677901020 184047386 377081755 172563847 775773800 534940066 551635282 863034381 505043934 271146715 365920586 200402396 158000014 968824638 698979151 625697823 837018622 844539610 776079310 477940273 764112629 82...

result:

ok 100002 numbers

Test #30:

score: -100
Runtime Error

input:

100000 2 100000
~
O
~
O
O
O
O
~
~
~
O
~
O
O
~
~
~
O
O
~
O
~
O
~
O
~
O
~
~
~
O
~
O
~
O
~
O
O
O
~
O
~
~
~
O
~
~
~
O
~
O
~
O
O
O
O
O
O
~
O
~
~
~
O
O
O
O
O
O
~
O
O
O
~
~
O
O
~
~
~
O
O
~
~
O
~
O
~
~
O
~
~
O
~
O
O
~
O
~
O
~
~
~
~
~
O
~
~
~
~
O
O
O
O
~
~
~
~
~
O
~
O
O
O
~
~
~
O
O
O
O
O
O
~
~
O
O
~
~
~
O
O
...

output:


result: