QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#570832#7900. Gifts from KnowledgergrgtgrfAC ✓59ms57764kbC++237.8kb2024-09-17 18:15:032024-09-17 18:15:04

Judging History

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

  • [2024-09-17 18:15:04]
  • 评测
  • 测评结果:AC
  • 用时:59ms
  • 内存:57764kb
  • [2024-09-17 18:15:03]
  • 提交

answer

#include <bits/stdc++.h>
using ll = long long;
using ull = unsigned long long;
using namespace std;
template<class T>
constexpr T power(T a, ll b) {
    T res = 1;
    for (; b; b /= 2, a *= a) {
        if (b % 2) {
            res *= a;
        }
    }
    return res;
}

constexpr ll mul(ll a, ll b, ll p) {
    ll res = a * b - ll(1.L * a * b / p) * p;
    res %= p;
    if (res < 0) {
        res += p;
    }
    return res;
}
template<ll P>
struct MLong {
    ll x;
    constexpr MLong() : x{} {}
    constexpr MLong(ll x) : x{norm(x % getMod())} {}
    
    static ll Mod;
    constexpr static ll getMod() {
        if (P > 0) {
            return P;
        } else {
            return Mod;
        }
    }
    constexpr static void setMod(ll Mod_) {
        Mod = Mod_;
    }
    constexpr ll norm(ll x) const {
        if (x < 0) {
            x += getMod();
        }
        if (x >= getMod()) {
            x -= getMod();
        }
        return x;
    }
    constexpr ll val() const {
        return x;
    }
    explicit constexpr operator ll() const {
        return x;
    }
    constexpr MLong operator-() const {
        MLong res;
        res.x = norm(getMod() - x);
        return res;
    }
    constexpr MLong inv() const {
        assert(x != 0);
        return power(*this, getMod() - 2);
    }
    constexpr MLong &operator*=(MLong rhs) & {
        x = mul(x, rhs.x, getMod());
        return *this;
    }
    constexpr MLong &operator+=(MLong rhs) & {
        x = norm(x + rhs.x);
        return *this;
    }
    constexpr MLong &operator-=(MLong rhs) & {
        x = norm(x - rhs.x);
        return *this;
    }
    constexpr MLong &operator/=(MLong rhs) & {
        return *this *= rhs.inv();
    }
    friend constexpr MLong operator*(MLong lhs, MLong rhs) {
        MLong res = lhs;
        res *= rhs;
        return res;
    }
    friend constexpr MLong operator+(MLong lhs, MLong rhs) {
        MLong res = lhs;
        res += rhs;
        return res;
    }
    friend constexpr MLong operator-(MLong lhs, MLong rhs) {
        MLong res = lhs;
        res -= rhs;
        return res;
    }
    friend constexpr MLong operator/(MLong lhs, MLong rhs) {
        MLong res = lhs;
        res /= rhs;
        return res;
    }
    friend constexpr std::istream &operator>>(std::istream &is, MLong &a) {
        ll v;
        is >> v;
        a = MLong(v);
        return is;
    }
    friend constexpr std::ostream &operator<<(std::ostream &os, const MLong &a) {
        return os << a.val();
    }
    friend constexpr bool operator==(MLong lhs, MLong rhs) {
        return lhs.val() == rhs.val();
    }
    friend constexpr bool operator!=(MLong lhs, MLong rhs) {
        return lhs.val() != rhs.val();
    }
};

template<>
ll MLong<0LL>::Mod = ll(1E18) + 9;

template<int P>
struct MInt {
    int x;
    constexpr MInt() : x{} {}
    constexpr MInt(ll x) : x{norm(x % getMod())} {}
    
    static int Mod;
    constexpr static int getMod() {
        if (P > 0) {
            return P;
        } else {
            return Mod;
        }
    }
    constexpr static void setMod(int Mod_) {
        Mod = Mod_;
    }
    constexpr int norm(int x) const {
        if (x < 0) {
            x += getMod();
        }
        if (x >= getMod()) {
            x -= getMod();
        }
        return x;
    }
    constexpr int val() const {
        return x;
    }
    explicit constexpr operator int() const {
        return x;
    }
    constexpr MInt operator-() const {
        MInt res;
        res.x = norm(getMod() - x);
        return res;
    }
    constexpr MInt inv() const {
        assert(x != 0);
        return power(*this, getMod() - 2);
    }
    constexpr MInt &operator*=(MInt rhs) & {
        x = 1LL * x * rhs.x % getMod();
        return *this;
    }
    constexpr MInt &operator+=(MInt rhs) & {
        x = norm(x + rhs.x);
        return *this;
    }
    constexpr MInt &operator-=(MInt rhs) & {
        x = norm(x - rhs.x);
        return *this;
    }
    constexpr MInt &operator/=(MInt rhs) & {
        return *this *= rhs.inv();
    }
    friend constexpr MInt operator*(MInt lhs, MInt rhs) {
        MInt res = lhs;
        res *= rhs;
        return res;
    }
    friend constexpr MInt operator+(MInt lhs, MInt rhs) {
        MInt res = lhs;
        res += rhs;
        return res;
    }
    friend constexpr MInt operator-(MInt lhs, MInt rhs) {
        MInt res = lhs;
        res -= rhs;
        return res;
    }
    friend constexpr MInt operator/(MInt lhs, MInt rhs) {
        MInt res = lhs;
        res /= rhs;
        return res;
    }
    friend constexpr std::istream &operator>>(std::istream &is, MInt &a) {
        ll v;
        is >> v;
        a = MInt(v);
        return is;
    }
    friend constexpr std::ostream &operator<<(std::ostream &os, const MInt &a) {
        return os << a.val();
    }
    friend constexpr bool operator==(MInt lhs, MInt rhs) {
        return lhs.val() == rhs.val();
    }
    friend constexpr bool operator!=(MInt lhs, MInt rhs) {
        return lhs.val() != rhs.val();
    }
};

template<>
int MInt<0>::Mod = 998244353;

template<int V, int P>
constexpr MInt<P> CInv = MInt<P>(V).inv();

constexpr int P = 1000000007;
using Z = MInt<P>;
struct DSU {
    std::vector<int> f, siz;
    
    DSU() {}
    DSU(int n) {
        init(n);
    }
    
    void init(int n) {
        f.resize(n);
        std::iota(f.begin(), f.end(), 0);
        siz.assign(n, 1);
    }
    
    int find(int x) {
        while (x != f[x]) {
            x = f[x] = f[f[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;
        }
        siz[x] += siz[y];
        f[y] = x;
        return true;
    }
    
    int size(int x) {
        return siz[find(x)];
    }
};

void solve()
{
    int n, m;
    cin >> n >> m;
    vector<string> b(n);
    int one = 0;
    for(int i = 0; i < n; i++) {
        cin >> b[i];
        one += count(b[i].begin(), b[i].end(), '1');
    }
    if(one > m) {
        cout << 0 << "\n";
        return;
    }

    vector<vector<int>> pos(m);
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < m; j++) {
            if(b[i][j] == '1') {
                pos[j].push_back(i); 
                pos[m - j - 1].push_back(i);
            }
        }
    }

    for(int i = 0; i < m; i++) {
        if(pos[i].size() > 2) {
            cout << 0 << "\n";
            return;
        }
    }

    DSU d(n * 2);
    int l = 0, r = m - 1;
    for(; l <= r; l++, r--) {
        vector<int> l1, r1;
        for(int i = 0; i < n; i ++) if(b[i][l] == '1') l1.push_back(i);
        for(int i = 0; i < n; i ++) if(b[i][r] == '1') r1.push_back(i);
        if(l1.size() == 2) d.merge(l1[0], l1[1] + n), d.merge(l1[0] + n, l1[1]);
        if(r1.size() == 2) d.merge(r1[0], r1[1] + n), d.merge(r1[0] + n, r1[1]);
        for(auto v : l1){
            for(auto w : r1){
                d.merge(v, w);
                d.merge(v + n, w + n);
            }
        }
    }

    for(int i = 0; i < n; i++) {
        if(d.same(i, i + n)) {
            cout << 0 << "\n";
            return;
        }
    }

    vector<int> vis(2 * n);
    int s = 0;
    for(int i = 0; i < 2 * n; i++) if(vis[d.find(i)] == 0) {
        vis[d.find(i)] = 1;
        s++;
    }
    Z ans = power(Z(2), s / 2);
    cout << ans << "\n";
}
signed main()
{
    std::ios::sync_with_stdio(0);
    std::cin.tie(0);
    std::cout.tie(0);
    int tt = 1;
    std::cin >> tt;
    while (tt--)
        solve();
}

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

详细

Test #1:

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

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: 11ms
memory: 3596kb

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: 13ms
memory: 3856kb

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: 17ms
memory: 3656kb

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: 16ms
memory: 3620kb

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: 13ms
memory: 3600kb

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: 8ms
memory: 3632kb

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: 8ms
memory: 3864kb

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: 17ms
memory: 3600kb

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: 15ms
memory: 3724kb

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: 24ms
memory: 3892kb

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: 24ms
memory: 3892kb

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: 24ms
memory: 3652kb

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: 25ms
memory: 3824kb

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: 3ms
memory: 4144kb

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: 0ms
memory: 4344kb

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: 2ms
memory: 4512kb

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: 4ms
memory: 4132kb

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: 4ms
memory: 4556kb

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: 4ms
memory: 4096kb

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: 9ms
memory: 8152kb

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: 5ms
memory: 7112kb

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: 9ms
memory: 8128kb

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: 3ms
memory: 6576kb

input:

1
20 50000
0000000000010000000000000000000000000000000000010100000000000000010000000000000000000000000000000000000000000100000000000000000000000000000000001000000000000000000000000000010000000000000000000000000000000000000001000000000000000010000000000000000000000000000000000000010000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #25:

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

input:

1
20 50000
0000000100000000000000000000000000000000000000000000000000000000000000000001000001000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000000000001000000010000000000000100000000000000000000000000000000000001000000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #26:

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

input:

1
20 50000
0001100000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000100000000000100100100000000000000000000000000010000000000...

output:

0

result:

ok 1 number(s): "0"

Test #27:

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

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: 11ms
memory: 18920kb

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: 25ms
memory: 30600kb

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: 28ms
memory: 29108kb

input:

1
2 500000
0110000100010010100001001000101011111100010010011111100000100001000000000010000001110000110110100110010011000010010000010100110011101100010100000000110111010001100000100010001110001110011001100001011010100000001001111100111110111010011000100010100100001001100000010000111010011110100000010...

output:

0

result:

ok 1 number(s): "0"

Test #31:

score: 0
Accepted
time: 25ms
memory: 30672kb

input:

1
2 500000
1000001111110110101010001010100100000100100010001100000101010011100001110010000101010011000101100110011111101001100000010000010000100110000100100011010100000000001001011010001100110011001001101001100111101100110111001110100100100000111001101100101111110001011101001110011110111111101011001...

output:

0

result:

ok 1 number(s): "0"

Test #32:

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

input:

1
2 500000
1000010001011001101010000000000000100010100000011010000011100110110101001000010110110101111101001100001110001111010100000111001011010000101010010110100111000000101100000100010000100001100011111000000111100111100010010111010001100100001011100101011111000011110011100011100110111100000010010...

output:

0

result:

ok 1 number(s): "0"

Test #33:

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

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: 33ms
memory: 57764kb

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: 0
Accepted
time: 52ms
memory: 56872kb

input:

1
1 1000000
111100111111100111011110110001111111111011111011011001111111101101101111101111110100101110111011111110101111111100111011110001111111101111011011111101110101111111111101101110011000111111110111101111111111111111101111110110101111101111111111111101111010111101011111101110111111010111000101...

output:

2

result:

ok 1 number(s): "2"

Test #36:

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

input:

1
1 1000000
110111111100110110011101111000101001110111111111101100110101111111000110111001111001111011111110101111110110111101111001111110110111010100111011001010110111111101010101111110111111111011010011010111111111100101111111011011111101011001110111111010110110100110010111111100111111111110110111...

output:

2

result:

ok 1 number(s): "2"

Test #37:

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

input:

100000
10 1
0
0
0
0
0
0
0
1
0
0
10 1
0
0
0
1
0
0
0
0
0
0
10 1
0
0
0
0
0
1
0
0
0
0
10 1
0
1
0
0
0
0
0
0
0
0
10 1
0
0
0
0
0
0
0
0
1
0
10 1
0
0
0
0
0
0
0
0
0
1
10 1
0
0
0
0
1
0
0
0
0
0
10 1
0
0
0
0
0
0
0
1
0
0
10 1
0
0
0
0
0
1
0
0
0
0
10 1
0
0
0
0
0
0
0
0
1
0
10 1
0
0
1
0
0
0
0
0
0
0
10 1
0
0
0
0
0
0
0...

output:

1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
...

result:

ok 100000 numbers

Extra Test:

score: 0
Extra Test Passed