QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#305898#2549. King's PalaceckisekiAC ✓3122ms28504kbC++205.5kb2024-01-16 05:53:472024-01-16 05:53:47

Judging History

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

  • [2024-01-16 05:53:47]
  • 评测
  • 测评结果:AC
  • 用时:3122ms
  • 内存:28504kb
  • [2024-01-16 05:53:47]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
const int maxn = 22;
const int p3maxn = 10000000;

int RGB(char a) {
    switch(a) {
        case 'R':
            return 0;
        case 'G':
            return 1;
        case 'B':
            return 2;
        default:
            __builtin_unreachable();
    }
}

int color[maxn];
int p3[maxn];
int pre[3][p3maxn];
int main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    int N, M;
    cin >> N >> M;
    vector<tuple<int,int,int,int>> edge;
    for (int i = 0; i < M; i++) {
        int a, b;
        char cc, cd;
        cin >> a >> cc >> b >> cd;
        --a, --b;
        int c = RGB(cc);
        int d = RGB(cd);
        edge.emplace_back(a, c, b, d);
    }
    for (int i = 0; i < N; i++)
        color[i] = -1;
    if (N <= 8) {
        int ans = 0;
        auto dfs = [&](auto self, int i) {
            if (i == N) {
                bool ok = true;
                for (auto [a, c, b, d]: edge) {
                    if (color[a] == c && color[b] == d) {
                        ok = false;
                        break;
                    }
                }
                if (ok)
                    ++ans;
                return;
            }
            for (int j = 0; j < 3; j++) {
                color[i] = j;
                self(self, i+1);
                color[i] = -1;
            }
        };
        dfs(dfs, 0);
        cout << ans << '\n';
        return 0;
    }

    const int A = 9, B = N - A;
    p3[0] = 1;
    for (int i = 1; i <= B; i++)
        p3[i] = p3[i-1] * 3;
    for (int rot = 0; rot < 3; rot++) {
        // enumerate B
        // [A, N)
        auto dfs = [&](auto self, int i, int code) {
            if (i == N) {
                bool ok = true;
                for (auto [a, c, b, d]: edge) {
                    if (color[a] == c && color[b] == d) {
                        ok = false;
                        break;
                    }
                }
                if (ok) {
                    pre[rot][code] += 1;
                }
                return;
            }
            for (int j = 0; j < 3; j++) {
                color[i] = j;
                self(self, i+1, code * 3 + j);
                color[i] = -1;
            }
        };
        dfs(dfs, A, 0);

        for (int i = 0; i < B; i++) {
            for (int s = 0; s < p3[B]; s++) {
                if (s / p3[i] % 3 != 0) {
                    pre[rot][s] += pre[rot][s - p3[i]];
                }
            }
        }
        for (auto &[a, c, b, d]: edge) {
            c = (c+1) % 3;
            d = (d+1) % 3;
        }
    }


    const auto query = [&](int p[], vector<int> &mask) -> int64_t {
        for (int j = 0; j < B; j++) {
            if (mask[j] == 0)
                return 0;
        }

        int64_t ans = 0;
        auto dfs = [&](auto self, int i, int code, int coef) {
            if (i == B) {
                ans += coef * p[code];
                return;
            }
            if (mask[i] == 5) {
                self(self, i+1, code * 3 + 2, coef);
                self(self, i+1, code * 3 + 1, -coef);
                self(self, i+1, code * 3 + 0, coef);
            } else {
                int l = __lg(mask[i] & -mask[i]);
                int r = __lg(mask[i]);
                self(self, i+1, code * 3 + r, coef);
                if (l)
                    self(self, i+1, code * 3 + l-1, -coef);
            }
        };
        dfs(dfs, 0, 0, 1);
        return ans;
    };

    {
        int64_t ans = 0;
        auto dfs = [&](auto self, int i) {
            if (i == A) {
                bool ok = true;
                vector<int> mask(B, 7);
                for (auto [a, c, b, d]: edge) {
                    if (color[a] == c && color[b] == d) {
                        ok = false;
                        break;
                    }
                    if (a < A && b >= A && color[a] == c) {
                        mask[b - A] &= ~(1 << d);
                    }
                }
                if (ok) {
                    int mn = 1e9;
                    int mnRot = -1;
                    for (int rot = 0; rot < 3; rot++) {
                        int cnt = 0;
                        for (int j = 0; j < B; j++) {
                            if (mask[j] == 5)
                                ++cnt;
                        }
                        if (mn > cnt) {
                            mn = cnt;
                            mnRot = rot;
                        }
                        for (int j = 0; j < B; j++) {
                            mask[j] <<= 1;
                            mask[j] |= mask[j] >> 3;
                            mask[j] &= 7;
                        }
                    }
                    assert (mnRot != -1);
                    for (int rot = 0; rot < mnRot; rot++) {
                        for (int j = 0; j < B; j++) {
                            mask[j] <<= 1;
                            mask[j] |= mask[j] >> 3;
                            mask[j] &= 7;
                        }
                    }
                    ans += query(pre[mnRot], mask);
                }
                return;
            }
            for (int j = 0; j < 3; j++) {
                color[i] = j;
                self(self, i+1);
                color[i] = -1;
            }
        };
        dfs(dfs, 0);
        cout << ans << '\n';
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

2 3
1 R 2 R
1 G 2 R
1 B 2 G

output:

6

result:

ok answer is '6'

Test #2:

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

input:

1 0

output:

3

result:

ok answer is '3'

Test #3:

score: 0
Accepted
time: 131ms
memory: 28320kb

input:

22 0

output:

31381059609

result:

ok answer is '31381059609'

Test #4:

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

input:

4 12
2 R 3 R
1 B 2 B
2 R 3 B
3 R 4 R
1 B 4 G
1 R 3 B
3 G 4 B
2 G 3 G
1 B 2 R
1 G 2 R
1 R 3 G
1 G 3 B

output:

13

result:

ok answer is '13'

Test #5:

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

input:

2 4
1 G 2 G
1 B 2 R
1 R 2 G
1 B 2 B

output:

5

result:

ok answer is '5'

Test #6:

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

input:

5 77
3 B 5 B
2 G 5 G
4 R 5 G
1 G 2 B
1 R 4 R
4 B 5 G
2 B 3 G
2 G 5 B
1 R 3 G
2 R 5 R
3 B 4 R
1 R 2 B
3 G 4 G
1 B 5 G
3 R 5 G
3 G 4 B
1 B 4 G
4 B 5 R
2 R 4 G
1 G 4 B
2 G 3 R
2 R 5 B
1 G 2 R
2 B 4 R
2 R 3 R
3 B 5 G
2 G 3 G
1 R 3 R
1 R 5 G
2 G 3 B
3 B 4 B
4 R 5 B
1 R 2 G
3 G 5 R
1 R 2 R
2 B 5 B
3 B 5 R...

output:

0

result:

ok answer is '0'

Test #7:

score: 0
Accepted
time: 2ms
memory: 7700kb

input:

10 141
3 B 9 B
1 R 8 R
4 B 8 R
2 B 4 R
2 R 7 B
6 B 9 R
1 R 9 R
4 R 8 G
3 B 8 R
3 B 5 G
4 B 9 B
4 G 5 R
2 R 3 G
7 B 8 G
5 B 7 R
7 B 8 R
2 B 8 B
7 R 10 B
2 G 10 G
6 G 8 B
1 R 4 B
8 R 10 B
2 G 3 B
2 B 5 B
3 R 4 R
3 B 7 R
3 R 7 R
2 R 10 R
3 G 9 G
5 B 10 G
6 R 8 B
3 R 9 G
1 B 10 G
3 R 8 G
1 B 3 R
4 R 9 R...

output:

0

result:

ok answer is '0'

Test #8:

score: 0
Accepted
time: 3122ms
memory: 24468kb

input:

22 2079
1 R 2 R
1 R 2 G
1 R 2 B
1 G 2 R
1 G 2 G
1 G 2 B
1 B 2 R
1 B 2 G
1 B 2 B
1 R 3 R
1 R 3 G
1 R 3 B
1 G 3 R
1 G 3 G
1 G 3 B
1 B 3 R
1 B 3 G
1 B 3 B
1 R 4 R
1 R 4 G
1 R 4 B
1 G 4 R
1 G 4 G
1 G 4 B
1 B 4 R
1 B 4 G
1 B 4 B
1 R 5 R
1 R 5 G
1 R 5 B
1 G 5 R
1 G 5 G
1 G 5 B
1 B 5 R
1 B 5 G
1 B 5 B
1 R ...

output:

0

result:

ok answer is '0'

Test #9:

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

input:

4 52
1 G 2 B
2 G 4 R
1 G 4 B
1 G 3 G
3 B 4 B
2 R 4 B
2 G 3 G
3 B 4 R
1 B 2 B
1 G 4 G
3 G 4 B
1 B 4 R
3 R 4 G
2 B 4 B
1 G 2 G
3 G 4 G
2 R 3 R
1 R 3 G
2 R 4 G
2 B 3 B
2 B 3 G
2 R 3 G
1 B 3 G
1 G 4 R
1 G 2 R
2 G 4 B
1 G 3 R
1 R 2 R
1 R 2 G
1 R 4 G
2 R 4 R
2 B 3 R
1 B 3 B
2 B 4 R
3 R 4 R
2 G 4 G
3 B 4 G...

output:

0

result:

ok answer is '0'

Test #10:

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

input:

8 10
1 G 7 R
7 R 8 G
3 R 6 R
3 G 4 R
5 B 8 R
4 B 6 G
2 G 5 B
1 R 2 B
7 G 8 G
3 G 5 R

output:

1874

result:

ok answer is '1874'

Test #11:

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

input:

4 40
2 G 3 G
1 R 4 R
3 G 4 G
1 R 3 R
1 G 2 G
2 R 3 R
3 R 4 R
1 G 2 B
1 B 4 R
1 B 3 R
1 G 4 R
2 R 4 G
1 B 2 R
1 B 4 G
1 G 3 R
1 G 4 G
2 G 3 B
1 B 2 G
1 R 3 G
1 R 2 B
1 B 3 B
2 B 3 R
1 B 3 G
1 G 4 B
1 G 3 G
2 G 3 R
1 R 4 G
2 B 4 B
2 G 4 R
3 R 4 B
2 R 4 B
1 R 2 G
2 B 4 R
1 B 2 B
1 G 3 B
2 G 4 B
1 R 3 B...

output:

0

result:

ok answer is '0'

Test #12:

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

input:

2 3
1 B 2 B
1 R 2 R
1 G 2 R

output:

6

result:

ok answer is '6'

Test #13:

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

input:

3 24
1 R 2 B
1 B 3 B
2 G 3 B
1 B 2 G
1 B 2 B
2 R 3 G
1 G 3 B
2 B 3 R
1 R 3 R
2 R 3 R
1 B 3 R
1 B 3 G
1 R 3 B
2 R 3 B
2 B 3 B
1 R 2 R
2 G 3 G
2 B 3 G
1 G 2 G
1 G 3 G
1 G 2 R
2 G 3 R
1 G 2 B
1 R 3 G

output:

0

result:

ok answer is '0'

Test #14:

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

input:

9 176
2 G 3 R
1 G 4 R
4 B 5 G
5 G 7 B
8 G 9 R
1 R 4 B
4 B 8 B
1 B 5 B
6 B 8 B
2 G 6 G
2 B 8 B
1 R 9 B
2 B 8 G
1 G 4 G
1 B 3 R
3 R 7 B
7 B 8 B
5 B 6 R
6 R 9 R
5 R 7 G
4 G 9 B
3 G 9 G
1 R 6 R
1 G 3 G
3 R 6 R
4 G 5 R
4 G 7 B
2 G 8 B
1 B 9 R
3 G 8 R
3 R 5 G
5 R 9 R
3 G 5 R
1 R 4 R
4 B 7 B
3 R 9 R
2 B 4 ...

output:

0

result:

ok answer is '0'

Test #15:

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

input:

22 38
12 G 17 B
1 G 20 R
9 B 20 G
15 G 19 B
11 B 22 R
13 R 19 G
21 R 22 B
4 G 11 B
9 R 10 R
8 R 15 B
1 G 16 B
13 R 19 B
1 G 11 G
9 R 11 G
7 B 8 G
9 R 18 G
3 G 13 B
3 G 14 B
10 R 16 R
14 G 16 B
3 R 9 R
18 R 21 B
11 B 20 G
1 G 10 G
2 R 16 G
6 B 20 R
4 B 20 B
8 G 10 B
7 R 11 R
16 G 18 G
3 B 8 B
11 R 22...

output:

258518109

result:

ok answer is '258518109'

Test #16:

score: 0
Accepted
time: 5ms
memory: 7848kb

input:

18 25
16 G 17 B
1 G 14 B
7 G 10 R
11 R 12 B
5 G 18 B
8 R 16 R
11 G 15 B
4 R 8 G
13 G 15 G
8 R 11 G
3 G 4 R
1 B 16 B
6 B 17 R
5 G 16 R
7 R 8 G
12 B 18 G
9 R 18 R
4 B 15 R
6 R 17 B
6 B 7 G
4 B 15 G
2 B 13 R
2 R 8 R
1 G 12 B
3 R 5 G

output:

21513056

result:

ok answer is '21513056'

Test #17:

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

input:

2 6
1 G 2 R
1 B 2 B
1 R 2 R
1 R 2 G
1 B 2 G
1 R 2 B

output:

3

result:

ok answer is '3'

Test #18:

score: 0
Accepted
time: 1ms
memory: 7768kb

input:

11 201
4 B 9 R
2 B 7 G
1 G 9 G
5 G 8 G
3 G 4 G
1 R 7 R
3 R 7 R
7 G 9 G
2 B 8 G
5 B 7 B
4 G 8 G
4 G 5 B
5 B 9 R
4 R 11 G
2 B 10 B
7 G 11 B
6 G 7 G
7 G 11 G
3 B 8 R
8 R 10 R
3 R 10 B
7 G 8 R
2 R 4 R
9 R 10 R
2 G 11 R
3 B 5 R
3 B 10 G
1 B 9 R
4 G 7 G
10 B 11 B
4 B 6 G
3 B 9 G
4 R 9 B
1 G 10 B
1 G 2 B
6...

output:

0

result:

ok answer is '0'

Test #19:

score: 0
Accepted
time: 17ms
memory: 8384kb

input:

20 12
6 B 12 G
7 B 15 R
14 R 17 G
8 B 14 G
2 G 9 R
7 G 8 G
9 G 12 G
3 R 9 B
18 B 20 B
8 G 20 R
3 R 7 G
3 R 12 R

output:

875184912

result:

ok answer is '875184912'

Test #20:

score: 0
Accepted
time: 182ms
memory: 24188kb

input:

22 1804
6 B 11 R
1 G 18 R
12 B 17 G
5 G 22 G
14 G 21 R
11 G 19 B
18 G 21 G
9 R 13 B
2 R 20 G
2 R 8 R
2 G 6 R
7 G 16 R
13 R 14 B
2 B 17 R
3 R 21 B
3 B 5 R
2 B 12 G
18 R 20 G
1 G 22 B
14 R 17 B
6 R 10 B
1 R 13 B
10 G 11 R
2 G 20 G
17 R 19 G
5 G 15 B
19 R 20 G
6 G 17 B
11 R 16 B
3 R 15 B
6 G 19 B
13 R ...

output:

0

result:

ok answer is '0'

Test #21:

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

input:

8 163
3 R 6 G
2 R 8 G
4 B 5 G
1 G 2 R
1 G 3 R
2 R 5 R
1 R 3 B
1 R 6 B
2 B 5 G
4 R 8 G
3 R 4 B
4 R 5 B
1 G 4 B
4 R 5 G
6 G 8 G
2 R 3 B
1 R 7 B
2 B 6 G
2 R 6 B
2 B 5 B
3 B 5 R
3 B 7 B
3 G 5 R
6 G 7 B
1 B 7 B
2 B 8 R
4 G 6 G
7 R 8 B
2 G 3 G
2 R 4 G
2 B 3 B
7 G 8 B
5 R 6 B
1 B 8 R
1 R 8 B
1 B 2 R
6 B 8 ...

output:

0

result:

ok answer is '0'

Test #22:

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

input:

16 272
10 B 11 G
7 B 15 G
3 R 6 B
3 R 11 B
11 B 13 R
5 G 11 G
6 R 13 G
6 G 11 R
1 B 8 B
12 R 16 R
4 R 8 B
14 B 15 G
9 B 15 B
2 R 9 B
2 G 12 R
12 R 13 B
2 B 7 R
1 G 5 B
1 B 10 R
6 R 12 B
3 B 13 R
5 B 14 R
7 R 8 B
10 R 15 G
13 B 16 R
5 B 10 R
7 G 13 R
6 G 8 B
2 R 8 G
6 G 16 R
6 B 7 R
1 B 9 B
3 G 7 R
7...

output:

0

result:

ok answer is '0'

Test #23:

score: 0
Accepted
time: 2ms
memory: 7708kb

input:

12 263
3 G 9 R
5 R 8 B
4 G 11 R
6 B 11 G
11 B 12 R
5 R 11 B
10 G 12 G
4 R 11 B
2 G 8 B
8 R 9 B
4 R 6 R
2 B 3 R
7 B 9 G
2 G 10 G
9 G 10 G
6 G 8 B
7 R 10 G
4 G 11 B
7 G 12 B
1 B 12 R
1 R 10 G
5 G 10 R
5 B 7 G
10 R 12 R
7 B 8 G
2 R 4 G
4 R 5 B
5 G 12 B
8 B 12 R
7 B 10 R
2 R 11 R
4 B 6 G
7 B 9 B
5 G 6 B...

output:

0

result:

ok answer is '0'

Test #24:

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

input:

4 54
1 G 4 R
1 R 3 R
2 B 4 B
2 G 3 R
2 R 3 G
2 R 3 B
1 B 3 G
2 B 3 G
3 B 4 B
3 G 4 G
1 R 3 B
2 R 3 R
2 B 3 B
2 G 4 R
1 G 4 B
1 R 2 B
3 G 4 R
2 R 4 B
1 G 3 G
2 B 4 G
2 G 4 G
1 B 4 R
1 B 3 B
1 R 4 R
2 G 3 B
2 B 4 R
1 R 2 G
1 R 2 R
3 R 4 G
1 G 2 G
2 G 4 B
2 R 4 R
3 B 4 R
3 R 4 R
1 B 2 R
1 R 4 G
1 G 2 R...

output:

0

result:

ok answer is '0'

Test #25:

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

input:

19 20
12 B 14 G
7 R 15 B
7 B 13 R
5 B 18 R
3 R 5 B
1 R 17 R
2 G 6 G
4 B 6 B
11 G 18 G
6 R 8 B
13 R 19 G
2 G 10 R
3 G 10 R
10 G 13 B
7 R 9 B
12 G 17 G
8 G 14 G
2 B 16 G
14 B 16 G
5 G 14 G

output:

111329984

result:

ok answer is '111329984'

Test #26:

score: 0
Accepted
time: 21ms
memory: 8644kb

input:

20 21
4 B 8 R
4 R 10 R
5 G 15 G
4 B 13 R
18 G 20 B
8 G 17 R
7 B 9 G
9 G 15 B
18 G 19 R
6 B 17 B
14 B 16 R
2 G 13 G
1 B 17 B
4 G 20 R
9 R 17 B
3 R 15 B
9 B 12 B
4 B 11 R
10 R 16 R
10 B 17 G
8 R 11 B

output:

267962040

result:

ok answer is '267962040'

Test #27:

score: 0
Accepted
time: 4ms
memory: 7820kb

input:

18 17
5 R 6 B
9 G 13 G
12 B 17 G
11 B 17 R
12 G 16 R
2 B 11 B
9 B 17 R
3 B 7 R
3 G 16 R
14 R 16 G
10 R 15 B
1 B 15 R
2 G 18 B
5 B 9 B
4 G 11 R
6 B 15 G
8 R 12 B

output:

50671200

result:

ok answer is '50671200'

Test #28:

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

input:

21 22
10 G 16 R
4 B 19 G
7 G 18 G
12 R 20 R
8 B 9 R
2 G 18 R
3 R 6 B
2 G 9 B
20 B 21 R
19 R 20 G
4 B 5 R
2 G 15 R
9 R 11 R
1 B 15 R
3 G 10 G
10 B 12 B
13 R 16 R
14 B 20 B
3 B 15 B
12 G 17 B
17 G 19 B
1 G 20 R

output:

665745048

result:

ok answer is '665745048'

Test #29:

score: 0
Accepted
time: 21ms
memory: 14272kb

input:

20 22
10 R 13 R
16 B 17 B
3 B 17 R
3 G 13 R
7 G 19 R
4 R 14 R
11 R 12 G
5 B 11 R
7 B 15 B
4 B 16 R
7 R 16 R
6 G 11 B
5 R 15 G
6 R 20 R
1 G 9 G
8 G 12 B
13 G 18 G
1 G 5 B
2 G 19 R
5 B 20 B
12 R 17 G
2 B 18 B

output:

215418240

result:

ok answer is '215418240'

Test #30:

score: 0
Accepted
time: 168ms
memory: 27008kb

input:

22 24
9 G 21 B
8 B 22 G
18 G 19 B
5 R 20 R
5 B 15 R
5 R 8 B
5 R 12 R
16 B 19 B
4 B 14 B
10 R 18 B
11 R 12 B
3 R 7 R
5 R 19 G
9 B 11 B
4 G 22 B
3 B 15 R
2 R 15 R
1 G 20 R
10 G 17 R
5 R 13 R
6 R 19 R
1 G 7 B
3 G 21 R
8 R 16 G

output:

2114213004

result:

ok answer is '2114213004'

Test #31:

score: 0
Accepted
time: 55ms
memory: 14372kb

input:

21 21
9 B 12 B
10 B 11 B
5 B 16 R
2 B 7 B
3 B 11 B
1 G 11 R
16 R 17 G
6 R 15 R
3 G 17 R
17 R 19 R
13 B 18 G
3 R 14 B
13 R 16 R
8 G 13 R
9 B 13 R
7 B 20 R
16 R 21 G
5 B 7 B
4 B 5 B
7 R 15 B
2 G 17 R

output:

1187593920

result:

ok answer is '1187593920'

Test #32:

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

input:

21 23
17 G 20 R
12 B 16 R
14 B 18 R
11 G 17 R
16 B 20 B
18 G 21 B
3 R 17 R
2 B 19 B
3 R 21 G
3 G 4 B
8 G 10 R
7 G 11 G
9 R 19 R
4 G 5 R
6 G 9 R
4 R 8 G
5 B 6 B
1 R 18 B
12 G 15 B
13 R 15 B
5 B 12 R
4 R 19 R
1 B 6 R

output:

583976832

result:

ok answer is '583976832'

Test #33:

score: 0
Accepted
time: 162ms
memory: 28196kb

input:

22 21
9 R 14 B
1 R 20 R
21 R 22 R
10 G 12 R
9 R 22 R
9 B 19 R
18 B 21 G
7 R 11 B
2 B 9 G
5 G 13 G
11 R 12 R
10 G 20 G
6 G 9 G
1 B 16 G
8 G 22 R
7 R 21 G
4 G 19 R
6 B 15 R
5 G 15 R
3 R 21 G
5 G 17 G

output:

3429459648

result:

ok answer is '3429459648'

Test #34:

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

input:

21 23
7 B 16 G
2 R 11 B
2 G 18 B
8 R 15 G
10 R 14 R
4 G 16 B
3 R 4 R
4 G 11 R
2 B 8 B
9 R 11 B
11 R 12 R
2 R 17 R
4 R 19 B
4 G 10 R
3 B 21 B
7 G 20 R
6 R 7 B
1 R 20 G
13 G 20 R
1 R 5 R
5 G 10 R
4 B 7 R
13 G 16 B

output:

639060192

result:

ok answer is '639060192'

Test #35:

score: 0
Accepted
time: 168ms
memory: 28044kb

input:

22 23
11 R 14 G
7 G 12 R
2 B 10 B
5 G 19 G
13 R 15 G
1 G 12 R
14 G 15 R
7 R 14 R
6 R 21 R
3 B 8 R
18 R 20 B
3 B 14 B
6 G 19 R
7 B 9 B
7 B 19 G
2 B 8 G
5 B 22 G
12 R 17 B
2 R 4 G
7 R 20 B
14 R 16 B
2 G 13 G
4 R 8 B

output:

1854480384

result:

ok answer is '1854480384'

Test #36:

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

input:

21 21
14 G 17 G
3 G 5 R
11 R 13 G
2 G 7 G
1 R 10 G
15 B 18 B
4 B 5 G
3 R 7 R
11 G 20 G
2 G 11 G
5 G 9 B
8 R 9 B
6 G 8 R
13 R 19 R
2 B 17 R
3 G 21 G
1 B 5 B
8 B 12 B
16 G 18 R
5 B 18 G
4 B 11 R

output:

795882456

result:

ok answer is '795882456'

Test #37:

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

input:

22 23
15 G 22 B
13 G 21 R
10 G 11 G
18 B 19 G
2 B 3 B
14 R 21 R
2 G 6 B
2 R 16 R
11 G 20 G
11 G 13 G
3 B 11 R
11 G 17 R
5 G 9 B
4 G 21 B
1 G 19 G
7 R 22 B
17 G 22 G
1 B 22 B
2 G 8 R
2 G 9 R
7 G 12 G
7 B 22 R
2 G 9 G

output:

2386498896

result:

ok answer is '2386498896'

Test #38:

score: 0
Accepted
time: 53ms
memory: 14880kb

input:

21 23
6 B 16 R
4 R 9 R
5 R 15 B
4 B 20 G
9 B 15 R
7 G 21 B
5 G 18 B
6 B 10 R
5 G 13 R
15 G 21 B
6 B 9 G
5 R 14 G
8 B 18 R
2 R 10 R
1 G 17 G
12 G 15 R
19 B 20 G
1 R 7 G
3 G 16 G
11 R 12 G
4 G 21 G
16 R 19 R
6 G 8 G

output:

661173792

result:

ok answer is '661173792'

Test #39:

score: 0
Accepted
time: 5ms
memory: 8036kb

input:

18 18
10 G 12 B
4 R 11 B
7 R 12 B
5 B 15 R
6 R 9 B
9 R 17 B
1 G 15 G
8 R 17 G
7 R 18 G
1 R 9 B
6 G 10 R
3 R 9 G
4 B 8 G
7 R 13 R
2 R 7 R
13 R 16 R
9 R 14 B
3 B 13 R

output:

47105064

result:

ok answer is '47105064'

Test #40:

score: 0
Accepted
time: 54ms
memory: 15232kb

input:

21 20
6 G 11 B
5 G 9 B
4 G 14 R
15 R 18 R
6 G 7 R
1 R 21 G
3 B 7 B
11 G 12 B
4 B 20 R
3 G 4 B
10 R 17 B
9 R 13 G
14 B 15 B
4 B 17 B
13 B 21 R
5 R 17 R
5 B 19 G
3 G 8 B
7 R 16 B
2 B 21 R

output:

908390772

result:

ok answer is '908390772'

Test #41:

score: 0
Accepted
time: 4ms
memory: 9784kb

input:

18 17
4 B 15 R
4 B 16 R
5 R 14 G
16 B 17 G
7 G 8 B
9 R 14 B
8 R 14 B
3 B 9 R
1 R 14 B
3 B 16 R
10 G 18 G
10 G 11 G
12 G 17 R
14 R 18 B
1 G 2 B
4 R 13 G
6 B 8 R

output:

52441092

result:

ok answer is '52441092'

Test #42:

score: 0
Accepted
time: 21ms
memory: 9740kb

input:

20 21
9 B 15 R
4 G 15 G
1 B 13 B
7 R 18 R
6 G 14 G
7 R 9 G
6 B 11 G
7 B 14 B
9 G 13 B
5 G 11 B
8 R 18 G
1 G 3 G
12 B 16 G
2 G 13 R
5 R 20 R
10 G 13 R
13 B 16 B
1 G 19 B
17 B 18 B
12 R 16 R
15 R 19 R

output:

262244682

result:

ok answer is '262244682'

Test #43:

score: 0
Accepted
time: 4ms
memory: 7760kb

input:

18 18
8 G 15 B
2 G 6 B
14 B 15 G
1 G 17 B
4 R 8 B
4 R 13 R
6 R 12 B
4 G 11 G
3 G 8 B
6 R 11 B
1 R 4 B
9 B 15 G
12 R 18 B
5 R 7 B
1 R 16 B
10 B 18 G
2 R 5 G
14 B 17 G

output:

41204079

result:

ok answer is '41204079'

Test #44:

score: 0
Accepted
time: 167ms
memory: 28504kb

input:

22 24
14 R 17 R
4 G 21 R
15 R 16 R
16 R 19 B
2 R 12 R
5 B 7 R
4 B 18 B
8 B 22 R
6 B 20 R
8 B 10 B
4 R 20 B
6 R 8 B
9 R 21 B
5 R 15 G
13 R 18 B
11 R 19 B
2 B 5 G
11 R 20 R
1 B 15 G
7 G 14 G
3 G 16 G
11 B 13 R
5 G 19 R
3 B 5 R

output:

1696899432

result:

ok answer is '1696899432'

Test #45:

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

input:

19 19
14 B 16 G
5 G 14 G
2 G 19 R
13 G 16 B
1 G 19 G
1 R 12 G
3 R 8 G
7 R 11 B
2 R 7 G
6 R 11 G
6 G 9 G
7 B 8 G
9 G 10 R
7 B 15 G
6 B 15 B
5 B 18 R
14 G 15 R
5 G 9 R
7 G 11 B

output:

93857886

result:

ok answer is '93857886'

Test #46:

score: 0
Accepted
time: 181ms
memory: 27308kb

input:

22 33
6 R 19 R
5 G 7 G
2 G 10 R
2 B 4 B
11 R 14 B
1 B 2 R
6 B 16 B
8 G 20 B
9 B 20 R
7 G 12 B
15 B 21 R
18 R 19 B
14 B 15 G
9 B 15 B
2 B 13 G
9 G 21 B
3 B 16 R
5 R 19 B
5 R 15 B
11 B 15 B
5 R 14 G
5 B 12 B
5 G 17 B
4 B 18 G
4 B 11 G
12 R 16 G
3 G 8 G
4 G 12 R
5 B 10 B
15 B 21 B
1 R 17 G
4 G 6 R
5 B ...

output:

645861438

result:

ok answer is '645861438'

Test #47:

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

input:

21 7
1 R 13 R
6 B 20 G
14 G 17 G
11 G 16 R
10 B 18 G
1 G 5 B
1 G 19 B

output:

4595429376

result:

ok answer is '4595429376'

Test #48:

score: 0
Accepted
time: 125ms
memory: 27416kb

input:

22 1
5 R 16 R

output:

27894275208

result:

ok answer is '27894275208'

Test #49:

score: 0
Accepted
time: 5ms
memory: 7768kb

input:

18 28
4 B 15 R
9 G 13 G
1 B 18 G
3 G 17 B
4 G 18 R
2 R 9 G
2 G 7 R
7 B 14 R
10 R 13 G
4 R 7 G
1 R 8 G
1 B 11 G
1 B 9 R
7 B 11 G
1 R 4 R
8 G 11 B
6 B 17 G
1 R 2 G
16 B 18 R
6 R 18 R
6 R 10 B
1 B 14 B
12 R 18 B
2 R 10 B
14 G 17 R
1 R 17 G
1 B 5 B
11 B 12 B

output:

16261180

result:

ok answer is '16261180'

Test #50:

score: 0
Accepted
time: 17ms
memory: 12468kb

input:

20 6
14 R 16 G
2 R 17 R
4 B 20 G
15 R 16 B
3 G 20 G
1 G 2 B

output:

1718680194

result:

ok answer is '1718680194'

Test #51:

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

input:

22 15
10 B 22 B
5 B 7 G
2 R 5 B
4 B 5 G
6 G 17 G
14 R 16 G
3 G 9 R
6 R 15 G
2 G 5 G
11 R 17 R
16 G 20 G
17 R 18 R
16 G 20 R
3 R 21 R
4 G 15 B

output:

5320183680

result:

ok answer is '5320183680'

Test #52:

score: 0
Accepted
time: 5ms
memory: 7828kb

input:

18 22
1 B 11 R
1 R 2 R
10 G 11 B
4 G 11 R
10 B 18 G
6 R 11 R
13 B 14 B
5 R 15 R
1 G 8 G
12 B 15 R
14 B 18 R
3 B 12 G
1 G 6 B
12 R 16 R
9 R 18 G
14 R 17 G
3 B 18 B
8 R 18 R
14 G 16 G
10 R 14 R
5 B 6 B
2 B 16 B

output:

21870162

result:

ok answer is '21870162'

Test #53:

score: 0
Accepted
time: 161ms
memory: 27520kb

input:

22 26
10 G 16 R
5 R 13 B
4 R 15 B
11 B 19 R
1 R 15 G
11 G 18 R
3 R 5 G
14 G 20 B
9 R 14 R
19 G 22 B
2 B 18 R
3 B 18 B
13 G 20 G
14 R 20 R
3 G 14 B
6 B 14 R
3 G 16 R
4 R 21 R
4 G 10 G
9 R 12 B
1 B 6 R
8 G 14 G
2 B 16 B
1 B 10 G
2 G 3 B
6 B 22 G

output:

1215125316

result:

ok answer is '1215125316'

Test #54:

score: 0
Accepted
time: 148ms
memory: 27892kb

input:

22 7
4 G 18 G
3 B 17 G
18 G 20 G
11 B 18 R
8 G 13 G
10 B 22 G
11 R 21 R

output:

13514190336

result:

ok answer is '13514190336'

Test #55:

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

input:

19 31
1 R 12 R
3 B 10 G
2 G 18 B
7 G 17 R
7 B 19 R
9 G 14 R
1 B 17 G
10 G 11 R
3 B 16 G
14 B 18 G
1 G 16 R
14 G 16 G
5 G 18 G
10 G 14 R
2 R 7 G
5 B 11 B
3 R 6 G
5 R 7 R
9 B 11 G
1 B 5 R
4 G 19 R
10 R 16 G
16 R 17 G
5 G 19 B
7 B 8 B
5 R 6 G
12 G 15 R
12 R 17 B
5 G 16 B
8 G 10 B
5 G 15 G

output:

21281991

result:

ok answer is '21281991'

Test #56:

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

input:

20 23
4 B 18 R
9 R 19 B
6 R 10 B
15 G 18 B
4 G 10 G
16 G 19 B
9 R 16 B
7 G 19 R
2 R 14 G
1 R 8 B
5 R 9 G
7 R 18 R
11 R 20 B
5 R 20 G
10 B 12 B
3 R 7 B
8 G 15 G
8 G 16 G
7 R 13 R
13 G 19 B
8 R 9 R
4 R 7 G
5 R 14 R

output:

241127262

result:

ok answer is '241127262'

Test #57:

score: 0
Accepted
time: 3ms
memory: 7984kb

input:

19 0

output:

1162261467

result:

ok answer is '1162261467'

Test #58:

score: 0
Accepted
time: 147ms
memory: 27992kb

input:

22 7
11 G 13 B
4 R 13 G
12 G 21 B
1 R 10 B
19 G 21 R
12 R 16 R
9 G 15 B

output:

13094706240

result:

ok answer is '13094706240'

Test #59:

score: 0
Accepted
time: 16ms
memory: 12476kb

input:

20 3
4 B 9 B
5 R 7 G
8 R 16 B

output:

2448880128

result:

ok answer is '2448880128'

Test #60:

score: 0
Accepted
time: 166ms
memory: 26512kb

input:

22 22
8 R 10 B
3 B 14 B
1 R 5 B
16 B 17 G
20 G 21 R
3 R 20 G
3 B 5 B
9 G 12 G
2 G 16 G
12 R 20 B
15 R 21 B
5 B 13 G
5 G 17 R
11 B 22 G
6 G 16 R
17 G 22 G
20 B 22 R
4 R 16 G
13 B 18 R
11 G 20 G
1 R 22 B
1 B 2 B

output:

2171235456

result:

ok answer is '2171235456'

Test #61:

score: 0
Accepted
time: 174ms
memory: 27668kb

input:

22 21
1 R 2 R
2 R 3 R
3 R 4 R
4 R 5 R
5 R 6 R
6 R 7 R
7 R 8 R
8 R 9 R
9 R 10 R
10 R 11 R
11 R 12 R
12 R 13 R
13 R 14 R
14 R 15 R
15 R 16 R
16 R 17 R
17 R 18 R
18 R 19 R
19 R 20 R
20 R 21 R
21 R 22 R

output:

4316282880

result:

ok answer is '4316282880'