QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#547036#7900. Gifts from KnowledgexuemanTL 58ms73380kbC++175.4kb2024-09-04 17:14:042024-09-04 17:14:04

Judging History

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

  • [2024-09-04 17:14:04]
  • 评测
  • 测评结果:TL
  • 用时:58ms
  • 内存:73380kb
  • [2024-09-04 17:14:04]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long
const int N = 1000 + 10;
const int maxn = 1e6 + 10;
const int inf = 0x3f3f3f3f;
const int mod = 1e9 + 7;

ll qpow(ll a, ll n)
{
    ll res = 1;
    while (n)
    {
        if (n & 1)
            res = res * a % mod;
        a = a * a % mod;
        n >>= 1;
    }
    return res;
}

string s[maxn];
int vis[maxn];
vector<int> pos[maxn];

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int T;
    cin >> T;

    while (T--)
    {
        int n, m;
        cin >> n >> m;
        int cur = 0, ok = 1;

        map<string, vector<int>> mp;
        for (int i = 1; i <= n; i++)
        {
            cin >> s[i];
            s[i] = ' ' + s[i];
            auto &v = mp[s[i]];

            if (!v.empty())
            {
                pos[v.back()].push_back(i);
                continue;
            }

            for (int j = 0; j <= m; j++)
                vis[j] = 0;

            for (int j = 1; j <= m; j++)
            {
                if (s[i][j] == '1')
                {
                    // if (i == 3)
                    // cout << j;
                    if (!vis[j])
                        v.push_back(j), vis[j] = 1;
                    // if (i == 3)
                    // cout << m - j + 1 << ' ' << vis[m - j + 1] << endl;
                    if (!vis[m - j + 1])
                        v.push_back(m - j + 1), vis[m - j + 1] = 1;
                    // pos[m - j + 1].push_back(s[i]);
                }
            }
            if (!v.empty())
            {
                sort(v.begin(), v.end(), greater<int>());

                // if (i == 3)
                // {
                //     for (auto it : v)
                //         cout << it << ' ';
                // }
                // cout << v.back() << endl;

                pos[v.back()].push_back(i);
            }
            else
                cur++;
        }

        for (int i = 1; i <= m; i++)
        {
            if (pos[i].size() > 1)
            {

                // cout << i;
                auto &p = pos[i].back();
                auto &x = s[p];
                pos[i].pop_back();
                // mp.erase(x);
                for (auto t : pos[i])
                {
                    auto &y = s[t];
                    bool flag = 0;
                    // cout << x << ' ' << y << ' ';
                    for (int j = 1; j <= m; j++)
                    {
                        if (x[j] == '1' && y[j] == '1')
                        {
                            flag = 1;
                            break;
                        }
                    }
                    if (flag)
                    {
                        reverse(y.begin() + 1, y.end());
                        for (int j = 1; j <= m; j++)
                        {
                            if (x[j] == '1' && y[j] == '1')
                            {
                                ok = 0;
                                goto end;
                            }
                            x[j] = max(x[j], y[j]);
                        }
                    }
                    else
                    {
                        for (int j = 1; j <= m; j++)
                        {
                            if (x[j] == '1' && y[j] == '1')
                            {
                                ok = 0;
                                goto end;
                            }
                            x[j] = max(x[j], y[j]);
                        }
                        // cout << x;
                    }
                    // mp.erase(y);
                }

                // cout << x << endl;
                for (int j = i + 1; j <= m; j++)
                {
                    vis[j] = 0;
                }

                mp[x].clear();

                for (int j = i + 1; j <= m; j++)
                {
                    if (x[j] == '1')
                    {
                        if (!vis[j])
                            mp[x].push_back(j), vis[j] = 1;
                        if (m - j + 1 >= i + 1 && !vis[m - j + 1])
                            mp[x].push_back(m - j + 1), vis[m - j + 1] = 1;
                    }
                }

                // for (auto it : mp[x])
                // cout << it << ' ';
                if (!mp[x].empty())
                {
                    sort(mp[x].begin(), mp[x].end(), greater<int>());
                    pos[mp[x].back()].push_back(p);
                }
            }
            else if (pos[i].size() == 1)
            {
                // cout << i << '|';
                auto p = pos[i].back();
                auto &x = s[p];
                pos[i].pop_back();
                auto &v = mp[x];
                v.pop_back();

                // for (auto i : v)
                //     cout << i << ' ';
                // cout << endl;

                if (v.empty())
                    cur++;
                else
                {
                    pos[v.back()].push_back(p);
                }
            }
        }
    end:
        if (!ok)
        {
            cout << 0 << endl;
        }
        else
        {
            cout << qpow(2, cur) << endl;
        }

        for (int i = 0; i <= m; i++)
            pos[i].clear();
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 3ms
memory: 62428kb

input:

3
3 5
01100
10001
00010
2 1
1
1
2 3
001
001

output:

4
0
2

result:

ok 3 number(s): "4 0 2"

Test #2:

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

input:

15613
10 10
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
15 8
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
1 5
00000
5 9
000000000
000000000
0000...

output:

1024
32768
2
32
32768
128
32
16
16
2
16384
16384
128
128
32768
8192
128
64
16384
2
4
2
4096
16
4096
1024
32768
32768
16384
8
128
2
16
4096
8192
32768
8192
8192
16
16384
16384
256
128
8
256
8
4096
512
2
4
32
32
2
64
512
1024
32768
32768
2
64
16384
16
8192
16
256
16
64
8192
8192
64
1024
2
32768
2
4
51...

result:

ok 15613 numbers

Test #3:

score: 0
Accepted
time: 20ms
memory: 60312kb

input:

15759
9 6
000000
000000
000000
000000
000000
000000
000000
000000
000000
5 15
010000000000000
000000000000000
000000000000000
000100000000000
000100000000000
14 12
000000000000
000000000000
000000000000
000000000000
000000000000
000000000000
000000000000
000000000000
000000000000
000000000000
000000...

output:

512
16
16384
512
1024
4096
32768
4
2
512
512
512
512
8
2
256
16
4096
512
64
16
4096
512
32
32768
8192
32
2048
128
16
4096
64
32768
256
32
16384
8
512
32
2048
8
16
1024
2048
128
64
32
8
512
8
8192
256
8192
32768
2
8
512
512
256
32
2
2048
8192
8
64
8
2
16384
32768
32768
1024
4096
16384
16384
128
256
4...

result:

ok 15759 numbers

Test #4:

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

input:

15734
3 6
000101
010000
001110
5 7
0010010
1000000
0101000
0000000
0000000
10 9
000000000
100000000
000000000
000000000
000010000
000000001
000000000
000000000
000000000
000000000
5 14
10000000000000
00001001000000
00000100000000
00000000000000
00000100000000
5 14
00000000000000
00010000000100
00000...

output:

0
16
512
16
32
4096
0
256
0
0
0
0
4096
8
1024
128
8192
0
128
0
2
0
0
32
64
0
0
0
4096
64
8
8
32
128
64
4096
2
512
16384
4
2
0
0
32
0
4096
8
0
8192
256
256
64
0
32
0
32
0
256
4
16384
1024
4
0
16
256
0
2048
64
8
0
0
32768
2048
512
2048
2
0
8192
0
2
2048
16
512
256
1024
0
0
2
32
512
16384
0
32
1024
102...

result:

ok 15734 numbers

Test #5:

score: 0
Accepted
time: 35ms
memory: 60076kb

input:

15616
14 3
000
000
000
000
100
000
000
000
000
000
001
001
001
000
15 5
00000
00000
00010
00000
00000
01000
00000
00000
00000
00001
00100
00000
00000
00000
10000
9 14
00000000000000
00000000000000
00100000010000
00001000100000
01010010000010
00000000000000
01000000000010
00100011000001
0000000000000...

output:

0
8192
0
64
0
512
0
8192
0
512
0
0
64
0
0
256
0
512
0
0
16
0
2048
0
256
0
1024
0
0
2
2
0
64
32
0
2
2
512
16
0
2
4
8192
0
0
1024
256
8
0
32
4
0
0
0
0
0
1024
4096
0
16384
32
0
2
4096
2
512
0
0
0
64
0
0
0
0
2
0
128
256
16
2
128
0
8
2
16384
0
0
2
0
0
0
128
0
0
0
0
0
2
4096
512
0
0
2
0
256
0
2
0
0
0
8
0
...

result:

ok 15616 numbers

Test #6:

score: 0
Accepted
time: 31ms
memory: 60088kb

input:

15525
5 1
1
0
0
0
0
14 15
000000000000000
000001000010000
000000000000000
000000000000000
000110000000000
000000000000001
000000000000000
000010000010000
000000000000000
001010000000000
000101000000000
000000000000100
000000000000000
000100010001000
14 15
000000000000000
000000000000000
000000000010...

output:

32
0
0
0
0
0
0
2
2
16384
0
0
0
2
0
0
0
0
32
0
2048
0
0
256
4096
0
0
512
0
0
0
0
16
0
0
0
0
0
0
0
1024
0
0
0
0
0
0
0
0
0
128
0
0
0
512
0
0
0
0
2
8
0
0
0
16
1024
0
0
0
32
8192
0
0
0
0
0
4
0
0
0
128
4
0
0
2048
0
0
2
32768
0
0
4096
0
2
0
0
0
8
2
0
0
0
0
32
0
0
0
0
0
2
0
8192
4096
0
0
0
0
512
0
0
0
4
0
0...

result:

ok 15525 numbers

Test #7:

score: 0
Accepted
time: 30ms
memory: 60180kb

input:

15547
5 7
1001011
0011001
1101011
0011011
0101011
3 14
11110100111110
01110111011111
11011111110111
4 4
1100
1110
0110
0101
9 9
000000000
101000100
001100100
100001000
000000010
100100000
010110000
000100110
110100000
5 8
10000001
10101011
11101010
01011110
10100111
12 12
000000100000
000000000010
0...

output:

0
0
0
0
0
0
2
0
0
0
0
0
16
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
...

result:

ok 15547 numbers

Test #8:

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

input:

15626
8 11
10000010011
01100000010
00000100010
10000010000
00001000000
10100000100
00101010011
00000011000
11 12
101000001000
000010010100
010001100001
000110101010
100010100000
100010000100
001100100000
010000100111
000011011101
000110010000
000000000000
15 8
00001000
00000000
00000000
00100000
000...

output:

0
0
0
2
0
1024
0
0
0
0
0
0
0
0
512
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
16
0
32768
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4096
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1024
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 15626 numbers

Test #9:

score: 0
Accepted
time: 24ms
memory: 60336kb

input:

15537
5 1
0
0
0
1
0
10 6
000000
000000
000010
000000
000000
000100
000000
100000
000000
000000
8 3
001
010
000
000
000
000
000
000
3 15
000000001000000
000010000000110
000000000000000
11 3
000
000
000
100
000
000
000
000
000
000
010
1 12
000000110100
3 7
0000010
0000001
0010000
8 1
0
0
0
0
1
0
0
0
1...

output:

32
1024
256
8
2048
2
8
256
2048
64
16384
32
8
4
2048
256
2048
8
32
128
16
32768
256
4096
256
64
2
128
8192
64
16
32768
64
8
1024
128
4096
32
4
16
4
2
8
128
2
1024
2048
1024
16384
256
128
1024
64
512
2048
1024
256
64
32
32
2048
4096
1024
32768
4
4096
256
1024
8
8192
64
16384
2048
2048
16384
8
8192
16...

result:

ok 15537 numbers

Test #10:

score: 0
Accepted
time: 35ms
memory: 62160kb

input:

15581
4 4
0010
0001
0000
0000
9 14
00000000000000
00000000010000
00000000000000
10000001000000
00000100000010
00010000000000
00000000000000
00000000001000
00000000000100
6 11
00000000000
00000001000
01001000100
00000000000
00000000000
00000100001
14 13
0000000010001
0000000000000
0000000000000
00100...

output:

16
256
64
16384
16
32
32
64
16384
16384
2
16384
8
8192
8192
4096
128
32768
2
32
128
2048
32
32768
4096
2048
128
8
32768
256
256
16
256
4096
4
32768
4
16384
4
4
128
8192
4096
8192
2
8192
4096
2048
16384
1024
512
64
512
4096
2048
1024
2048
1024
8
16
16
1024
8
32
2
2048
1024
1024
16384
16384
64
512
512...

result:

ok 15581 numbers

Test #11:

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

input:

15614
12 9
000000001
000000100
000000000
000000000
000000000
000000000
000000010
010010000
000000000
000100000
000000100
000000001
5 5
01010
00000
10100
00000
00001
15 6
000000
000000
000000
000000
011001
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
2 7
1100000
0110001
13 5
...

output:

512
16
32768
0
4096
0
16384
2
8
8192
32
4
1024
0
16
8
4
64
0
2
2
2
1024
128
128
128
2
32
1024
32
1024
16
64
64
128
1024
512
0
4096
2
32
1024
4096
256
4
2
4096
2
32
64
2
2
0
0
128
16
16
16
4096
1024
2048
16
256
16
16
64
0
1024
0
4096
2
2
16
4
4
8192
1024
512
0
256
2
8
128
128
64
16
128
4096
64
1024
2...

result:

ok 15614 numbers

Test #12:

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

input:

15569
11 3
000
000
000
000
000
000
100
000
000
010
000
2 11
00010000100
11000001101
7 13
0000000000010
0000000100000
1010010000000
0000001001000
0100000000100
1000100000000
0000100000000
12 6
000100
000001
000000
000000
000000
010000
000001
000000
000010
000100
000000
000000
9 6
000000
001000
000010...

output:

2048
0
4
512
64
16384
512
1024
4096
32
256
16
16384
0
512
8192
4096
4
128
4
8
512
1024
8
0
4096
4
4
128
2
4
64
4
512
128
64
16
0
4096
128
1024
0
4
2
0
16
64
256
1024
2048
256
0
4
8
8
16
256
512
256
0
2
2
2048
256
512
2048
4096
512
2048
16
0
1024
4
16
2
8192
1024
32
4
1024
256
32
4096
32
16
32
128
12...

result:

ok 15569 numbers

Test #13:

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

input:

15535
9 13
0000100000001
0000000000100
0000000000000
1000000100010
0000001000000
0001000000000
0000000000000
0000000000010
0001000000000
8 11
00000100100
00000000000
01000000000
10001000100
00010001000
10000000000
00000010000
01000000000
5 13
1000100000000
0001000010110
0000000100000
0001000100110
0...

output:

64
16
2
16384
2
8
8
8
2048
4096
0
256
0
4096
0
0
2
2
128
1024
16384
4
512
8
512
0
1024
2048
32
16
4
4096
0
8
2048
4
256
4
64
4
0
128
8192
4096
512
2
64
8
1024
8
8
16
32
1024
16
1024
1024
8192
4
16384
0
4
256
2
64
8192
2
2
16
8192
0
64
16
0
8
0
2
4096
64
0
32
128
2
2
2
8
0
32
16
16384
2048
64
1024
4
...

result:

ok 15535 numbers

Test #14:

score: 0
Accepted
time: 50ms
memory: 60388kb

input:

15665
15 14
00000100100000
00000000001000
00000000000000
00001001000000
00000000000000
00000000000000
11000000000000
00000000000000
01000000000100
00000000000100
00000000000000
00000000000000
00000000000000
00000000010000
00000001001000
3 13
0010000010110
1101000100001
0001010000000
6 6
000100
00000...

output:

1024
0
32
2
256
256
4096
0
16384
16
64
16
256
2
2
0
256
2048
128
2
2048
2
8
2
2
4096
64
2
8
1024
0
128
512
64
512
64
128
4
256
16
128
16
2
4096
32
32
2
0
0
256
32
2
128
64
256
512
0
2
1024
0
0
512
4096
4
1024
0
8192
2
512
2048
64
0
0
64
0
32768
128
2
2048
512
16384
32
0
8
2
1024
2048
2
2048
4096
2
8...

result:

ok 15665 numbers

Test #15:

score: 0
Accepted
time: 6ms
memory: 60572kb

input:

68
835 480
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

0
0
0
0
0
524288
0
0
0
0
524288
0
0
0
0
0
0
0
0
262144
262144
0
262144
524288
1048576
131072
262144
262144
0
262144
0
0
524288
0
0
0
524288
0
0
65536
0
1048576
131072
524288
131072
0
131072
131072
0
0
131072
0
0
262144
0
65536
0
131072
0
0
0
0
262144
262144
0
0
524288
0

result:

ok 68 numbers

Test #16:

score: 0
Accepted
time: 13ms
memory: 61096kb

input:

45
249 416
0000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

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
262144
0
0
0
0
131072
0
0
262144
131072
262144
262144
0
0
0
0
0
0
0

result:

ok 45 numbers

Test #17:

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

input:

59
60 930
00000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

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
65536
0
0
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 59 numbers

Test #18:

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

input:

58
902 434
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

716352531
0
0
373675883
16384
190350546
0
0
0
32768
16384
8192
32768
32768
306437691
0
8192
68717736
8192
16384
8192
2048
8192
4096
8192
16384
0
8192
4096
8192
32768
4096
32768
131072
32768
8192
639816142
16384
8192
32768
0
1024
16384
4096
8192
16384
8192
8192
32768
16384
8192
4096
16384
8192
8192
8...

result:

ok 58 numbers

Test #19:

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

input:

36
672 226
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000...

output:

336127736
0
671371099
4096
8192
2048
0
224303060
475920650
16384
4096
8192
16384
2048
2048
2048
8192
4096
4096
8192
16384
4096
8192
16384
0
0
8192
8192
4096
4096
16384
4096
8192
8192
8192
2048

result:

ok 36 numbers

Test #20:

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

input:

12
73 749
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000100000001000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000...

output:

0
653145782
310559811
835685553
16384
0
0
4096
884119779
1024
4096
1024

result:

ok 12 numbers

Test #21:

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

input:

1
50000 20
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
0000000000000000...

output:

188635342

result:

ok 1 number(s): "188635342"

Test #22:

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

input:

1
50000 20
10001101111001100111
01011100001110100001
11010000110111110001
00010000101101100011
01111010110011100001
00100101101100000100
10101111100110110001
11100111001010101100
10011110110001111001
10111101010001111110
10100000000101110110
11000101100011110011
01000001010101101100
1000111000111100...

output:

0

result:

ok 1 number(s): "0"

Test #23:

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

input:

1
50000 20
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
0000000000000000...

output:

773579423

result:

ok 1 number(s): "773579423"

Test #24:

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

input:

1
20 50000
0000000000010000000000000000000000000000000000010100000000000000010000000000000000000000000000000000000000000100000000000000000000000000000000001000000000000000000000000000010000000000000000000000000000000000000001000000000000000010000000000000000000000000000000000000010000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #25:

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

input:

1
20 50000
0000000100000000000000000000000000000000000000000000000000000000000000000001000001000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000000000001000000010000000000000100000000000000000000000000000000000001000000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #26:

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

input:

1
20 50000
0001100000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000100000000000100100100000000000000000000000000010000000000...

output:

0

result:

ok 1 number(s): "0"

Test #27:

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

input:

1
500000 2
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
0...

output:

0

result:

ok 1 number(s): "0"

Test #28:

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

input:

1
500000 2
10
11
11
00
01
01
10
10
01
11
00
10
00
10
10
00
11
01
00
01
01
11
00
11
01
11
00
11
00
01
10
01
10
11
10
01
10
00
10
00
01
10
10
00
00
10
00
10
10
10
10
00
00
01
00
01
01
00
10
01
01
10
00
10
01
11
10
11
00
10
00
00
11
10
10
00
10
01
11
00
00
00
11
00
10
10
00
10
01
01
01
00
10
01
10
11
1...

output:

0

result:

ok 1 number(s): "0"

Test #29:

score: 0
Accepted
time: 28ms
memory: 59980kb

input:

1
500000 2
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
0...

output:

483815611

result:

ok 1 number(s): "483815611"

Test #30:

score: 0
Accepted
time: 30ms
memory: 67988kb

input:

1
2 500000
0110000100010010100001001000101011111100010010011111100000100001000000000010000001110000110110100110010011000010010000010100110011101100010100000000110111010001100000100010001110001110011001100001011010100000001001111100111110111010011000100010100100001001100000010000111010011110100000010...

output:

0

result:

ok 1 number(s): "0"

Test #31:

score: 0
Accepted
time: 27ms
memory: 68316kb

input:

1
2 500000
1000001111110110101010001010100100000100100010001100000101010011100001110010000101010011000101100110011111101001100000010000010000100110000100100011010100000000001001011010001100110011001001101001100111101100110111001110100100100000111001101100101111110001011101001110011110111111101011001...

output:

0

result:

ok 1 number(s): "0"

Test #32:

score: 0
Accepted
time: 30ms
memory: 68056kb

input:

1
2 500000
1000010001011001101010000000000000100010100000011010000011100110110101001000010110110101111101001100001110001111010100000111001011010000101010010110100111000000101100000100010000100001100011111000000111100111100010010111010001100100001011100101011111000011110011100011100110111100000010010...

output:

0

result:

ok 1 number(s): "0"

Test #33:

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

input:

1
1000000 1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

235042059

result:

ok 1 number(s): "235042059"

Test #34:

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

input:

1
1000000 1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

235042059

result:

ok 1 number(s): "235042059"

Test #35:

score: -100
Time Limit Exceeded

input:

1
1 1000000
111100111111100111011110110001111111111011111011011001111111101101101111101111110100101110111011111110101111111100111011110001111111101111011011111101110101111111111101101110011000111111110111101111111111111111101111110110101111101111111111111101111010111101011111101110111111010111000101...

output:


result: