QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#350671#8053. Flow 2PPP#AC ✓325ms4668kbC++1710.1kb2024-03-10 23:31:512024-03-10 23:31:51

Judging History

This is the latest submission verdict.

  • [2024-03-10 23:31:51]
  • Judged
  • Verdict: AC
  • Time: 325ms
  • Memory: 4668kb
  • [2024-03-10 23:31:51]
  • Submitted

answer

//#ifdef DEBUG
//#define _GLIBCXX_DEBUG
//#endif
#pragma GCC optimize("O3")
#include<bits/stdc++.h>
using namespace std;

#define pb push_back

typedef long long ll;
typedef long double ld;
const int infinity = 1e9;
struct DinitzFlow{
    struct Edge {
        int src, dst, cap, flow;
        Edge() {
        }
        Edge(int src, int dst, int cap, int flow)
                : src(src), dst(dst), cap(cap), flow(flow) {
        }
    };
    int n, s, t;
    vector<Edge> edges;
    vector< vector<int> > g;
    vector<int> layer;
    vector<int> ptr;
    inline bool bfs() {
        layer.assign(n, -1);
        queue<int> q;
        layer[s] = 0;
        q.push(s);
        while (!q.empty() && layer[t] < 0) {
            int v = q.front(); q.pop();
            for (int eid: g[v]) {
                int to = edges[eid].dst;
                if (edges[eid].cap > edges[eid].flow) {
                    if (layer[to] < 0) {
                        layer[to] = layer[v] + 1;
                        q.push(to);
                    }
                }
            }
        }
        return layer[t] >= 0;
    }
    int dfs(int v, int flow = infinity) {
        if (v == t) {
            return flow;
        }
        if (flow == 0) {
            return 0;
        }
        for (; ptr[v] < (int)g[v].size(); ptr[v]++) {
            int eid = g[v][ptr[v]];
            int to = edges[eid].dst;
            if (layer[to] == layer[v] + 1) {
                int can = edges[eid].cap - edges[eid].flow;
                int pushed = dfs(to, min(flow, can));
                if (pushed > 0) {
                    edges[eid].flow += pushed;
                    edges[eid^1].flow -= pushed;
                    return pushed;
                }
            }
        }
        return 0;
    }
    inline void changeSrcDst(int ns, int nt) {
        s = ns; t = nt;
        for (Edge &e : edges) {
            e.flow = 0;
        }
    }
    inline vector<char> getCut() {
        // side[i] = 1 if the vertex is in component of s after the cut
        // side[i] = 0 otherwise (even if the vertex is not in component of t)
        vector<char> side(n, 0);
        function<void(int)> dfs = [&](int v) {
            if (side[v]) {
                return;
            }
            side[v] = 1;
            for (int eid : g[v]) {
                if (edges[eid].cap == edges[eid].flow) {
                    continue;
                }
                dfs(edges[eid].dst);
            }
        };
        dfs(s);
        return side;
    }
    inline int flow() {
        int ans = 0;
        while (bfs()) {
            ptr.assign(n, 0);
            int pushed = dfs(s);
            while (pushed != 0) {
                ans += pushed;
                pushed = dfs(s);
            }
        }
        return ans;
    }
    inline void addEdge(int src, int dst, int cap) {
        g[src].push_back(edges.size());
        edges.emplace_back(src, dst, cap, 0);
        g[dst].push_back(edges.size());
        edges.emplace_back(dst, src, 0, 0);
    }
    DinitzFlow(int n, int s, int t)
            : n(n), s(s), t(t), g(n), layer(n), ptr(n) {
    }
};
int n;
const int maxN = 305;
int a[maxN][maxN];
int e[maxN][maxN];
int p[maxN];
int sz[maxN];
int get(int x) {
    if (x == p[x]) return x;
    return p[x] = get(p[x]);
}
void unite(int a, int b) {
    a = get(a);
    b = get(b);
    if (a == b) return;
    p[b] = a;
    sz[a] += sz[b];
}
int id[305];
bool OK = true;
void add_e(int a, int b) {
    assert(a != b);
    e[a][b] = e[b][a] = 1;
}
void solve(vector<int> v, int k) {
    if (v.size() == 1) return;
    for (int& x : v) {
        p[x] = x;
    }
    for (int x = 0; x < v.size(); x++) {
        for (int y = x + 1; y < v.size(); y++) {
            if (a[v[x]][v[y]] > k) {
                unite(v[x], v[y]);
            }
        }
    }
    vector<vector<int>> S(v.size());
    for (int x = 0; x < v.size(); x++) id[v[x]] = x;
    for (int x = 0; x < v.size(); x++) {
        S[id[get(v[x])]].emplace_back(v[x]);
    }
    for (int x = 0; x < v.size(); x++) {
        for (int y = x + 1; y < v.size(); y++) {
            if (a[v[x]][v[y]] < k) {
                OK = false;
                return;
            }
            if ((a[v[x]][v[y]] > k) != (get(v[x]) == get(v[y]))) {
                OK = false;
                return;
            }
        }
    }
    if (k == 0) {
        for (auto& it : S) {
            if (!it.empty()) {
                solve(it, 1);
            }
        }
    }
    else if (k == 1) {
        int lst = -1;
        for (auto& it : S) {
            if (!it.empty()) {
                if (lst != -1) {
                    e[lst][it.back()] = e[it.back()][lst] = 1;
                }
                solve(it, 2);
                lst = it.back();
            }
        }
    }
    else {
        //k = 2
//        cout << " hi " << k << endl;
        assert(k == 2);
        vector<vector<int>> vecs;
        for (int x = 0; x < v.size(); x++) {
            if (!S[x].empty()) vecs.emplace_back(S[x]);
        }
        sort(vecs.begin(), vecs.end(), [&](vector<int>& a, vector<int>& b) {
           return a.size() < b.size();
        });
        for (int x = 0; x < vecs.size(); x++) {
            if (vecs[x].size() == 2 || vecs[x].size() == 3) {
                for (int& a : vecs[x]) {
                    for (int& b : vecs[x]) {
                        if (a < b) add_e(a, b);
                    }
                }
            }
            if (vecs[x].size() >= 4) {
                for (int a = 0; a + 2 < (int)vecs[x].size(); a++) {
                    add_e(vecs[x][a], vecs[x][a + 1]);
                }
                add_e(vecs[x][0], vecs[x][vecs[x].size() - 2]);
                for (int a = 0; a + 1 < vecs[x].size(); a++) {
                    add_e(vecs[x][a], vecs[x].back());
                }
            }
        }
        bool has_23 = false;
        for (auto& it : vecs) {
            if (it.size() == 2 || it.size() == 3) has_23 = true;
        }
        if (!has_23) {
            if (vecs.size() == 2 && vecs[0].size() == 1 && vecs[1].size() == 1) {
                OK = false;
                return;
            }
            if ((int)vecs.size() > 1) {
                for (int x = 0; x < vecs.size(); x++) {
                    e[vecs[x][0]][vecs[x].back()] = e[vecs[x].back()][vecs[x][0]] = 0;
                    add_e(vecs[x][0], vecs[(x + 1) % vecs.size()].back());
                }
            }
            return;
        }
        if (vecs.size() <= 2) {
            OK = false;
            return;
        }
        for (int x = 2; x < vecs.size(); x++) {
            if ((int)vecs[x].size() >= 4) {
                if (vecs[0].size() == 2 || vecs[0].size() == 3) {
                    swap(vecs[0], vecs[x]);
                }
                else if (vecs[1].size() == 2 || vecs[1].size() == 3){
                    swap(vecs[1], vecs[x]);
                }
            }
        }
        if (vecs[0].size() == 2 || vecs[0].size() == 3 || vecs[1].size() == 2 || vecs[1].size() == 3) {
            OK = false;
            return;
        }
        vector<int> UP{vecs[0][0]};
        vector<int> DOWN{vecs[0][0]};
        for (int x = 2; x < vecs.size(); x++) {
            if (vecs[x].size() == 2) {
                UP.emplace_back(vecs[x][0]);
                DOWN.emplace_back(vecs[x][1]);
            }
            else if (vecs[x].size() == 3) {
                UP.emplace_back(vecs[x][0]);
                UP.emplace_back(vecs[x][1]);
                DOWN.emplace_back(vecs[x][2]);
            }
        }
        UP.emplace_back(vecs[1][0]);
        DOWN.emplace_back(vecs[1][0]);
        for (auto& it : {UP, DOWN}) {
            for (int z = 0; z + 1 < (int)it.size(); z++) add_e(it[z], it[z + 1]);
        }
        assert(UP.size() >= 2);
        int x = UP[0];
        int y = UP[1];
        for (int t = 2; t < vecs.size(); t++) {
            if ((int)vecs[t].size() >= 4 || (int)vecs[t].size() == 1) {
                e[x][y] = 0;
                e[y][x] = 0;
                add_e(vecs[t][0], x);
                add_e(vecs[t][0], y);
                x = vecs[t][0];
            }
        }
    }
}
mt19937 rnd(228);
void solve() {
    cin >> n;
//    n = rnd() % 4 + 1;
    bool ok = true;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cin >> a[i][j];
//            a[i][j] = rnd() % 4;
//            if (i == j) a[i][j] = 0;
//            if (i > j) a[i][j] = a[j][i];
            e[i][j] = 0;
            if ((i == j) && a[i][j] != 0) {
                ok = false;
                continue;
            }
        }
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (a[i][j] != a[j][i]) {
                ok = false;
            }
        }
    }
    if (!ok) {
        cout << "No\n";
        return;
    }
    OK = true;
    vector<int> F(n);
    iota(F.begin(), F.end(), 0);
    solve(F, 0);
    if (!OK) {
        cout << "No\n";
        return;
    }
    vector<pair<int,int>> ans;
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            if (e[i][j]) {
                ans.emplace_back(i + 1, j + 1);
            }
        }
    }
    cout << "Yes\n";
    cout << ans.size() << '\n';
    /*for (int x = 0; x < n; x++) {
        for (int y = x + 1; y < n; y++) {
            DinitzFlow ds(n, x, y);
            for (auto& it : ans) {
                ds.addEdge(it.first - 1, it.second - 1, 1);
                ds.addEdge(it.second - 1, it.first - 1, 1);
            }
            if (ds.flow() != a[x][y]) {
                assert(false);
            }

        }
    }*/
    for (auto& it : ans) {
        cout << it.first << " " << it.second << '\n';
    }
}
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
#ifdef DEBUG
    freopen("input.txt", "r", stdin);
#endif
    int tst = 10000;
    cin >> tst;
    while (tst--) {
        solve();
    }
    return 0;
}

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

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

4
4
0 3 2 2
3 0 2 2
2 2 0 2
2 2 2 0
8
0 2 2 0 0 1 1 1
2 0 2 0 0 1 1 1
2 2 0 0 0 1 1 1
0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0
1 1 1 0 0 0 2 2
1 1 1 0 0 2 0 2
1 1 1 0 0 2 2 0
3
0 1 2
1 2 3
2 3 1
12
0 2 2 2 2 2 2 2 2 1 1 1
2 0 2 2 2 2 2 2 2 1 1 1
2 2 0 2 2 2 2 2 2 1 1 1
2 2 2 0 2 2 2 2 2 1 1 1
2 2 2 2 0 2 2 2...

output:

Yes
5
1 2
1 3
1 4
2 3
2 4
Yes
8
1 2
1 3
2 3
3 8
4 5
6 7
6 8
7 8
No
Yes
12
1 2
1 9
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12

result:

ok correct! #(YES) = 3, #(NO) = 1 (4 test cases)

Test #2:

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

input:

1000
5
0 1 1 0 1
1 0 1 0 1
1 1 0 0 1
0 0 0 0 0
1 1 1 0 0
5
0 1 1 1 1
1 0 2 2 2
1 2 0 2 2
1 2 2 0 2
1 2 2 2 0
5
0 2 2 2 2
2 0 2 2 2
2 2 0 2 2
2 2 2 0 2
2 2 2 2 0
5
0 0 0 0 0
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
5
0 0 0 0 0
0 0 2 2 3
0 2 0 2 2
0 2 2 0 2
0 3 2 2 0
5
0 2 1 2 1
2 0 1 2 1
1 1 0 1 1
2 2...

output:

Yes
3
1 2
2 3
3 5
Yes
5
1 5
2 3
2 5
3 4
4 5
Yes
5
1 2
1 5
2 3
3 4
4 5
Yes
2
3 4
4 5
Yes
5
2 3
2 4
2 5
3 5
4 5
Yes
5
1 2
1 4
2 4
3 4
3 5
Yes
4
1 2
2 3
3 4
4 5
Yes
2
1 2
3 5
Yes
6
1 4
1 5
2 3
2 5
3 4
3 5
Yes
2
1 4
2 3
Yes
3
1 2
2 3
3 5
Yes
1
1 3
Yes
5
1 3
1 5
2 5
3 4
4 5
Yes
5
1 2
1 5
2 3
2 5
3 5
Yes
...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #3:

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

input:

1000
6
0 1 1 1 1 1
1 0 1 1 1 1
1 1 0 1 1 1
1 1 1 0 1 1
1 1 1 1 0 1
1 1 1 1 1 0
6
0 1 1 1 1 1
1 0 2 2 2 2
1 2 0 2 2 2
1 2 2 0 3 2
1 2 2 3 0 2
1 2 2 2 2 0
6
0 1 1 1 0 1
1 0 1 1 0 1
1 1 0 1 0 1
1 1 1 0 0 1
0 0 0 0 0 0
1 1 1 1 0 0
6
0 2 0 1 1 2
2 0 0 1 1 2
0 0 0 0 0 0
1 1 0 0 1 1
1 1 0 1 0 1
2 2 0 1 1 0...

output:

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

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #4:

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

input:

1000
6
0 2 2 1 2 3
2 0 2 1 2 2
2 2 0 1 2 2
1 1 1 0 1 1
2 2 2 1 0 2
3 2 2 1 2 0
6
0 3 1 3 2 3
3 0 1 3 2 3
1 1 0 1 1 1
3 3 1 0 2 3
2 2 1 2 0 2
3 3 1 3 2 0
6
0 0 0 0 0 0
0 0 0 0 2 2
0 0 0 0 0 0
0 0 0 0 0 0
0 2 0 0 0 2
0 2 0 0 2 0
6
0 1 1 1 1 1
1 0 2 2 2 1
1 2 0 2 2 1
1 2 2 0 2 1
1 2 2 2 0 1
1 1 1 1 1 0...

output:

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

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #5:

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

input:

1000
6
0 1 1 1 0 1
1 0 1 1 0 1
1 1 0 1 0 1
1 1 1 0 0 1
0 0 0 0 0 0
1 1 1 1 0 0
6
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 1 1 1
0 0 1 0 1 1
0 0 1 1 0 1
0 0 1 1 1 0
6
0 3 3 3 3 3
3 0 3 3 3 3
3 3 0 3 3 3
3 3 3 0 3 3
3 3 3 3 0 3
3 3 3 3 3 0
6
0 2 2 2 1 1
2 0 2 3 1 1
2 2 0 2 1 1
2 3 2 0 1 1
1 1 1 1 0 1
1 1 1 1 1 0...

output:

Yes
4
1 2
2 3
3 4
4 6
Yes
3
3 4
4 5
5 6
Yes
10
1 2
1 5
1 6
2 3
2 6
3 4
3 6
4 5
4 6
5 6
Yes
7
1 2
1 4
2 3
2 4
3 4
4 5
5 6
Yes
9
1 2
1 4
1 5
2 3
2 6
3 5
3 6
4 6
5 6
Yes
6
1 6
2 3
2 6
3 4
4 6
5 6
Yes
8
1 6
2 3
2 6
3 5
3 6
4 5
4 6
5 6
Yes
4
1 2
2 3
3 4
4 6
Yes
9
1 2
1 5
1 6
2 4
2 6
3 6
4 5
4 6
5 6
Yes
9...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #6:

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

input:

1000
7
0 2 2 2 2 2 2
2 0 2 2 2 2 3
2 2 0 2 3 2 2
2 2 2 0 2 2 2
2 2 3 2 0 2 2
2 2 2 2 2 0 2
2 3 2 2 2 2 0
7
0 1 2 3 2 3 3
1 0 1 1 1 1 1
2 1 0 2 2 2 2
3 1 2 0 2 3 3
2 1 2 2 0 2 2
3 1 2 3 2 0 3
3 1 2 3 2 3 0
7
0 0 1 0 0 0 1
0 0 0 0 0 0 0
1 0 0 0 0 0 1
0 0 0 0 0 1 0
0 0 0 0 0 0 0
0 0 0 1 0 0 0
1 0 1 0 0...

output:

Yes
9
1 6
1 7
2 3
2 6
2 7
3 4
3 5
4 5
5 7
Yes
9
1 3
1 4
1 6
2 7
3 5
4 6
4 7
5 7
6 7
Yes
3
1 3
3 7
4 6
Yes
9
1 2
1 3
1 6
2 6
2 7
3 4
4 5
5 7
6 7
Yes
4
2 4
3 5
4 6
6 7
Yes
0
Yes
6
1 4
1 7
2 3
2 7
3 5
4 7
Yes
6
1 2
2 4
3 6
3 7
5 7
6 7
Yes
6
1 2
2 7
3 4
3 7
4 7
6 7
Yes
9
1 2
1 3
2 7
3 4
3 5
4 5
4 7
5 7
...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #7:

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

input:

1000
10
0 1 0 1 0 0 1 0 1 0
1 0 0 1 0 0 1 0 1 0
0 0 0 0 1 0 0 0 0 1
1 1 0 0 0 0 1 0 1 0
0 0 1 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 1 0 0 0
0 0 1 0 1 0 0 0 0 0
10
0 1 1 1 1 1 1 0 0 1
1 0 2 2 2 2 2 0 0 1
1 2 0 2 2 2 2 0 0 1
1 2 2 0 3 2 2 0 0 1
1 2 2 3 0...

output:

Yes
6
1 2
2 4
3 5
4 7
5 10
7 9
Yes
9
1 7
2 5
2 6
3 4
3 5
4 5
4 7
6 7
7 10
Yes
10
2 6
2 8
3 6
3 8
4 5
4 8
5 7
6 8
7 9
9 10
Yes
12
1 2
1 5
1 7
2 3
3 6
4 10
5 7
5 8
6 9
7 8
8 10
9 10
Yes
10
1 5
1 8
2 3
2 8
3 4
4 6
5 8
6 7
7 9
9 10
Yes
15
1 3
1 4
1 7
1 8
1 9
2 4
2 9
3 5
3 8
4 9
5 6
5 8
6 7
6 8
7 8
Yes
8...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #8:

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

input:

1000
10
0 1 3 3 3 3 1 3 2 3
1 0 1 1 1 1 1 1 1 1
3 1 0 3 3 3 1 3 2 3
3 1 3 0 3 3 1 3 2 3
3 1 3 3 0 3 1 3 2 3
3 1 3 3 3 0 1 3 2 3
1 1 1 1 1 1 0 1 1 1
3 1 3 3 3 3 1 0 2 3
2 1 2 2 2 2 1 2 0 2
3 1 3 3 3 3 1 3 2 0
10
0 3 3 3 3 3 3 3 3 3
3 0 3 3 3 3 3 3 3 3
3 3 0 3 3 3 3 3 3 3
3 3 3 0 3 3 3 3 3 3
3 3 3 3 0...

output:

Yes
15
1 3
1 8
1 9
2 7
2 10
3 4
3 10
4 5
4 10
5 6
5 10
6 8
6 10
8 10
9 10
Yes
18
1 2
1 9
1 10
2 3
2 10
3 4
3 10
4 5
4 10
5 6
5 10
6 7
6 10
7 8
7 10
8 9
8 10
9 10
Yes
3
1 8
3 5
5 10
Yes
16
1 2
1 3
1 9
2 7
3 4
3 10
4 5
4 10
5 6
5 10
6 8
6 10
7 10
8 9
8 10
9 10
Yes
13
1 2
1 6
2 4
2 8
3 5
3 10
4 7
4 10
...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #9:

score: 0
Accepted
time: 18ms
memory: 3684kb

input:

1000
20
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 2 2 1 1 2 1 1 2 0 2 1 1 1 1 1 1
0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
0 1 1 0 1 1 2 2 1 1 2 1 0 1 1 1 2 2 2 1
0 2 1 1 0 2 1 1 2 1 1 2 0 2 1 1 1 1 1 1
0 2 1 1 2 0 1 1 2 1 1 2 0 2 1 1 1 1 1 1
0 1 1 2 1 1 0 2 1 1 2 1 0 1 1 1 2 2 2 1
0 1 1 2 1 1 ...

output:

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

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #10:

score: 0
Accepted
time: 19ms
memory: 3688kb

input:

1000
20
0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 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 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 1 0 0
1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 0 0
0 0 0 1 1 0 ...

output:

Yes
12
1 6
4 5
5 8
6 7
7 9
8 15
9 12
11 20
12 13
13 16
16 17
17 18
Yes
0
Yes
6
4 10
6 15
8 11
14 19
16 18
18 20
Yes
13
1 2
2 3
3 4
4 5
5 8
6 16
8 9
9 12
12 13
13 14
14 18
16 17
17 19
Yes
10
1 2
2 5
3 15
4 6
5 10
6 11
8 16
10 17
13 20
16 18
Yes
16
1 4
4 5
5 6
6 7
7 15
8 10
8 15
10 14
11 12
11 15
12 1...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #11:

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

input:

1000
20
0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 1 0 1 2 2 2 3 3 1 2 3 3 3 3 3 3 1
1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 0 1 0 2 2 2 2 1 2 2 2 2 2 2 2 1
1 1 2 1 0 1 ...

output:

Yes
26
1 2
2 19
3 7
3 10
3 18
4 6
4 19
6 12
7 8
8 9
9 13
10 11
10 19
11 14
11 19
12 20
13 19
14 15
14 19
15 16
15 19
16 17
16 19
17 18
17 19
18 19
Yes
14
1 8
1 16
3 7
3 16
3 20
4 6
4 20
5 11
6 9
7 16
8 13
9 15
13 18
18 20
Yes
30
1 2
1 3
2 9
3 5
3 19
4 12
4 20
5 6
5 20
6 7
6 20
7 8
7 20
8 10
8 20
9 1...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #12:

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

input:

1000
30
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 ...

output:

Yes
9
3 21
6 22
7 14
8 25
10 13
14 18
15 20
18 28
25 29
Yes
19
1 11
2 4
4 17
6 7
7 10
8 20
10 12
11 19
12 13
13 15
15 22
20 21
21 26
22 23
23 25
25 27
27 28
28 29
29 30
Yes
4
3 8
6 30
8 23
16 29
Yes
20
1 4
2 3
3 8
4 6
6 7
7 12
8 10
10 14
12 16
14 15
15 18
16 17
17 25
18 19
19 20
20 23
23 26
25 27
27...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #13:

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

input:

1000
30
0 1 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0
1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0
1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0
1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0
1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 ...

output:

Yes
24
1 2
2 3
3 4
4 5
5 9
7 13
9 10
10 11
11 14
14 15
15 16
16 17
17 18
18 19
19 20
20 22
21 26
22 23
23 24
24 25
25 28
26 27
27 30
28 29
Yes
19
1 27
2 12
2 14
2 27
4 24
5 7
6 14
6 27
7 17
8 9
9 11
11 16
12 14
17 21
20 26
20 27
24 25
26 28
28 29
Yes
13
1 6
3 7
4 5
5 14
6 13
7 26
12 17
13 19
14 21
1...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #14:

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

input:

1000
30
0 2 2 2 2 2 2 1 1 3 3 3 3 3 2 3 2 2 1 3 0 2 0 2 0 0 3 2 2 0
2 0 2 2 2 3 2 1 1 2 2 2 2 2 2 2 2 2 1 2 0 2 0 2 0 0 2 2 2 0
2 2 0 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 0 2 0 2 0 0 2 2 2 0
2 2 2 0 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 0 2 0 2 0 0 2 2 2 0
2 2 2 2 0 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 0 2 0 2 0 0 ...

output:

Yes
34
1 2
1 10
1 20
1 27
1 29
2 4
2 6
3 5
3 6
4 6
5 7
7 15
8 9
8 29
9 19
10 11
10 27
11 12
11 27
12 13
12 27
13 14
13 27
14 16
14 27
15 17
16 20
16 27
17 18
18 22
20 27
22 24
24 28
28 29
Yes
6
1 21
3 4
4 12
12 19
22 24
24 29
Yes
28
1 7
1 19
2 19
2 26
3 9
3 24
3 26
4 10
4 26
5 15
5 24
6 27
7 8
8 19
...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #15:

score: 0
Accepted
time: 33ms
memory: 3728kb

input:

1000
30
0 3 2 3 3 2 3 3 3 2 3 2 3 2 2 3 1 3 3 3 3 3 3 3 0 3 0 2 3 3
3 0 2 3 3 2 3 3 3 2 3 2 3 2 2 3 1 3 3 3 3 3 3 3 0 3 0 2 3 3
2 2 0 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 0 2 0 2 2 2
3 3 2 0 3 2 3 3 3 2 3 2 3 2 2 3 1 3 3 3 3 3 3 3 0 3 0 2 3 3
3 3 2 3 0 2 3 3 3 2 3 2 3 2 2 3 1 3 3 3 3 3 3 3 0 3 ...

output:

Yes
46
1 2
1 3
1 29
2 4
2 30
3 6
4 5
4 30
5 7
5 30
6 10
7 8
7 30
8 9
8 30
9 11
9 30
10 12
11 13
11 30
12 14
13 16
13 30
14 15
15 28
16 18
16 30
17 30
18 19
18 30
19 20
19 30
20 21
20 30
21 22
21 30
22 23
22 30
23 24
23 30
24 26
24 30
26 29
26 30
28 30
29 30
Yes
38
1 4
1 5
1 20
2 3
2 23
2 25
3 23
3 2...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #16:

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

input:

1000
30
0 0 1 1 2 2 0 2 2 2 1 2 2 2 1 2 2 1 2 1 1 2 0 2 1 2 2 2 1 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
1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
2 0 1 1 0 3 0 3 2 3 1 2 3 2 1 2 3 1 2 1 1 2 0 3 1 2 ...

output:

Yes
35
1 12
1 26
3 4
3 30
4 11
5 6
5 16
5 17
5 24
5 30
6 8
6 24
8 10
8 24
9 19
9 26
10 13
10 24
11 15
12 14
13 17
13 24
14 22
15 18
16 19
16 26
17 24
18 20
19 26
20 21
21 25
22 27
25 29
27 28
28 30
Yes
20
1 3
3 4
4 6
5 8
6 15
7 22
8 20
10 12
12 21
13 24
15 17
16 29
17 18
18 19
19 23
20 25
21 26
23 2...

result:

ok correct! #(YES) = 999, #(NO) = 1 (1000 test cases)

Test #17:

score: 0
Accepted
time: 99ms
memory: 3728kb

input:

1000
50
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 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
1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 ...

output:

Yes
50
1 3
3 4
4 50
5 25
5 29
6 7
6 50
7 9
8 10
8 11
9 18
10 12
11 15
11 17
11 42
11 46
12 14
13 15
13 38
13 45
14 16
15 44
16 20
17 42
17 46
18 19
19 21
20 25
21 22
22 23
23 28
26 43
26 44
28 31
29 32
31 36
32 33
33 34
34 35
35 37
36 40
37 41
38 44
38 47
40 48
41 43
42 46
45 47
45 50
47 50
Yes
39
1...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #18:

score: 0
Accepted
time: 95ms
memory: 3732kb

input:

1000
50
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1
0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 0 ...

output:

Yes
25
2 3
3 7
5 49
6 16
7 11
11 17
16 37
17 18
18 19
19 22
21 24
22 25
25 26
26 28
28 30
30 33
32 43
33 34
34 39
39 41
41 42
42 44
44 47
47 48
48 50
Yes
36
1 2
2 4
4 6
5 8
6 15
7 27
8 9
9 13
13 22
14 29
15 18
17 21
18 19
19 46
20 23
20 43
20 46
22 33
23 40
23 43
24 25
24 46
25 26
26 28
27 35
28 32
...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #19:

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

input:

1000
50
0 2 2 3 2 2 3 3 1 1 2 3 2 2 3 3 1 3 3 3 3 1 3 2 3 3 3 2 3 3 3 2 3 3 3 3 3 3 3 2 3 3 1 3 3 3 2 1 1 3
2 0 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2
2 2 0 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 ...

output:

Yes
79
1 2
1 4
1 46
2 3
3 5
4 7
4 50
5 6
6 11
7 8
7 50
8 12
8 50
9 10
9 50
10 17
11 13
12 15
12 50
13 14
14 24
15 16
15 50
16 18
16 50
17 22
18 19
18 50
19 20
19 50
20 21
20 50
21 23
21 50
22 43
23 25
23 50
24 28
25 26
25 50
26 27
26 50
27 29
27 50
28 32
29 30
29 50
30 31
30 50
31 33
31 50
32 40
33 ...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #20:

score: 0
Accepted
time: 279ms
memory: 3836kb

input:

1000
94
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 1 0 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 ...

output:

Yes
61
2 7
3 29
4 17
7 11
9 14
11 13
13 60
14 20
15 72
17 66
18 56
18 66
20 27
21 41
22 24
23 31
24 48
25 78
26 67
27 28
28 30
30 33
31 32
32 35
33 39
34 45
34 78
35 40
36 43
39 55
40 46
43 81
45 78
46 47
47 52
48 79
50 89
51 66
51 69
52 54
54 63
55 58
56 57
57 66
58 59
59 61
60 64
63 68
68 73
69 71...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #21:

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

input:

1000
94
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 ...

output:

Yes
33
1 90
5 38
8 12
12 21
13 83
14 22
16 52
19 70
21 27
22 39
23 25
24 44
27 33
32 35
33 49
34 76
36 46
38 55
41 67
44 81
46 50
49 61
50 53
51 78
52 60
53 63
60 71
61 72
63 68
68 77
76 92
77 85
83 88
Yes
107
1 2
2 3
3 91
4 53
4 56
5 6
5 91
6 12
8 9
8 90
9 10
10 11
11 16
12 13
13 14
14 17
15 19
15 ...

result:

ok correct! #(YES) = 998, #(NO) = 2 (1000 test cases)

Test #22:

score: 0
Accepted
time: 314ms
memory: 4140kb

input:

1000
94
0 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 0 2 2 2 2 2 1 2 2 2 2 2 2 1 2 0 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 0 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

output:

Yes
147
1 45
1 54
2 8
2 94
3 4
3 53
3 93
4 7
4 94
5 6
5 94
6 23
7 9
7 94
8 11
9 10
9 94
10 13
10 94
11 12
12 16
13 14
13 94
14 15
14 94
15 17
15 94
16 24
17 19
17 94
19 20
19 94
20 21
20 94
21 22
21 94
22 25
22 94
23 29
24 31
25 26
25 94
26 27
26 94
27 28
27 94
28 30
28 94
29 36
30 32
30 94
31 42
32...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #23:

score: 0
Accepted
time: 325ms
memory: 4136kb

input:

1000
94
0 3 3 3 3 3 3 1 3 3 3 3 3 3 1 3 3 3 2 3 3 1 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 2 3 2 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3
3 0 3 3 3 3 3 1 3 3 3 3 3 3 1 3 3 3 2 3 3 1 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 2 3 2 3 3 3 3 3 2 3 ...

output:

Yes
174
1 2
1 19
1 93
2 3
2 94
3 4
3 94
4 5
4 94
5 6
5 94
6 7
6 94
7 9
7 94
8 15
8 94
9 10
9 94
10 11
10 94
11 12
11 94
12 13
12 94
13 14
13 94
14 16
14 94
15 22
16 17
16 94
17 18
17 94
18 20
18 94
19 34
20 21
20 94
21 23
21 94
22 68
23 24
23 94
24 25
24 94
25 26
25 94
26 27
26 94
27 28
27 94
28 29
...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #24:

score: 0
Accepted
time: 323ms
memory: 3844kb

input:

1000
94
0 3 1 3 0 3 2 3 3 2 3 3 3 2 1 1 3 3 2 0 3 3 3 3 0 2 1 1 3 2 2 2 1 2 1 3 3 2 3 2 2 3 3 1 2 3 0 2 1 2 3 3 3 3 3 2 2 2 3 3 1 1 2 3 1 2 3 3 3 1 2 3 1 0 0 3 3 3 3 3 3 1 2 2 2 0 1 3 3 1 3 3 3 3
3 0 1 3 0 3 2 3 3 2 3 3 3 2 1 1 3 3 2 0 3 3 3 3 0 2 1 1 3 2 2 2 1 2 1 3 3 2 3 2 2 3 3 1 2 3 0 2 1 2 3 3 ...

output:

Yes
131
1 2
1 41
1 93
2 4
2 94
3 15
3 94
4 6
4 94
6 8
6 94
7 10
7 94
8 9
8 94
9 11
9 94
10 14
11 12
11 94
12 13
12 94
13 17
13 94
14 19
15 16
16 27
17 18
17 94
18 21
18 94
19 26
21 22
21 94
22 23
22 94
23 24
23 94
24 29
24 94
26 30
27 28
28 33
29 36
29 94
30 31
31 32
32 34
33 35
34 38
35 44
36 37
36...

result:

ok correct! #(YES) = 1000, #(NO) = 0 (1000 test cases)

Test #25:

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

input:

900
100
0 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 1 3 3 2 3 2 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 2 1 3 3 3 3 3 3 3 3 3 3 3 1
3 0 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 ...

output:

Yes
186
1 2
1 15
1 98
2 3
2 99
3 4
3 99
4 5
4 99
5 6
5 99
6 7
6 99
7 8
7 99
8 9
8 99
9 10
9 99
10 11
10 99
11 12
11 99
12 13
12 99
13 14
13 99
14 16
14 99
15 18
16 17
16 99
17 20
17 99
18 19
19 38
20 21
20 99
21 22
21 99
22 23
22 99
23 24
23 99
24 25
24 99
25 26
25 99
26 27
26 99
27 28
27 99
28 29
2...

result:

ok correct! #(YES) = 898, #(NO) = 2 (900 test cases)

Test #26:

score: 0
Accepted
time: 297ms
memory: 4436kb

input:

100
300
0 1 3 3 1 2 3 3 3 3 2 3 2 3 3 1 3 3 3 1 3 3 1 3 1 2 3 3 3 1 3 3 3 3 3 3 2 2 2 2 3 3 2 2 3 2 2 1 3 2 3 2 3 3 3 3 3 3 3 3 2 3 2 3 3 3 3 2 2 3 2 3 3 3 1 2 3 3 3 2 3 3 1 3 3 0 2 1 1 3 3 3 3 3 2 3 3 3 2 3 3 3 3 3 2 1 3 3 3 3 3 3 3 3 2 3 3 3 2 3 2 3 3 3 3 2 3 3 3 3 2 3 2 3 3 3 3 2 3 0 3 3 3 3 3 2 ...

output:

Yes
483
1 3
1 197
1 298
2 5
2 300
3 4
3 300
4 7
4 300
5 16
6 11
6 121
7 8
7 300
8 9
8 300
9 10
9 300
10 12
10 300
11 13
12 14
12 300
13 26
14 15
14 300
15 17
15 300
16 20
17 18
17 300
18 19
18 300
19 21
19 300
20 23
21 22
21 300
22 24
22 300
23 25
24 27
24 300
25 30
26 37
27 28
27 300
28 29
28 300
2...

result:

ok correct! #(YES) = 100, #(NO) = 0 (100 test cases)

Test #27:

score: 0
Accepted
time: 308ms
memory: 4408kb

input:

100
300
0 2 3 2 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 2 3 3 1 3 3 3 3 3 1 3 3 3 2 1 3 1 2 1 3 3 3 3 2 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 2 3 3 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 2 3 3 3 2 3 3 3 3 3 3 3 3 2 3 3 2 3 3 3 3 3 3 1 3 3 3 3 2 3 3 2 ...

output:

Yes
537
1 3
1 233
1 297
2 4
2 76
3 5
3 298
4 10
5 6
5 298
6 7
6 298
7 8
7 298
8 9
8 298
9 11
9 298
10 30
11 12
11 298
12 13
12 298
13 14
13 298
14 15
14 298
15 16
15 298
16 17
16 298
17 18
17 298
18 19
18 298
19 20
19 298
20 21
20 298
21 22
21 298
22 23
22 298
23 24
23 298
24 25
24 298
25 26
25 298
...

result:

ok correct! #(YES) = 100, #(NO) = 0 (100 test cases)

Test #28:

score: 0
Accepted
time: 311ms
memory: 4452kb

input:

100
300
0 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...

output:

Yes
586
1 2
1 8
1 299
2 3
2 300
3 4
3 300
4 5
4 300
5 6
5 300
6 7
6 300
7 9
7 300
8 42
9 10
9 300
10 11
10 300
11 12
11 300
12 13
12 300
13 14
13 300
14 15
14 300
15 16
15 300
16 17
16 300
17 18
17 300
18 19
18 300
19 20
19 300
20 21
20 300
21 22
21 300
22 23
22 300
23 24
23 300
24 25
24 300
25 26
2...

result:

ok correct! #(YES) = 100, #(NO) = 0 (100 test cases)

Test #29:

score: 0
Accepted
time: 294ms
memory: 4368kb

input:

100
300
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 1 ...

output:

Yes
382
1 300
2 103
2 163
3 4
3 214
3 293
4 9
4 300
5 7
5 103
6 11
6 300
7 8
8 13
9 10
9 300
10 15
10 300
11 12
12 14
13 28
14 17
15 16
15 300
16 20
16 300
17 18
18 19
19 34
20 21
20 300
21 22
21 300
22 23
22 300
23 24
23 300
24 25
24 300
25 26
25 300
26 27
26 300
27 31
27 300
28 29
29 30
30 38
31 3...

result:

ok correct! #(YES) = 100, #(NO) = 0 (100 test cases)

Test #30:

score: 0
Accepted
time: 309ms
memory: 4400kb

input:

100
300
0 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 2 2 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...

output:

Yes
583
1 2
1 57
1 299
2 3
2 300
3 4
3 300
4 5
4 300
5 6
5 300
6 7
6 300
7 8
7 300
8 9
8 300
9 10
9 300
10 11
10 300
11 12
11 300
12 14
12 300
13 241
13 300
14 15
14 300
15 16
15 300
16 17
16 300
17 18
17 300
18 19
18 300
19 20
19 300
20 21
20 300
21 22
21 300
22 23
22 300
23 24
23 300
24 25
24 300
...

result:

ok correct! #(YES) = 100, #(NO) = 0 (100 test cases)

Test #31:

score: 0
Accepted
time: 307ms
memory: 4396kb

input:

100
300
0 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...

output:

Yes
581
1 2
1 11
1 298
2 3
2 300
3 4
3 300
4 5
4 300
5 6
5 300
6 7
6 300
7 8
7 300
8 9
8 300
9 10
9 300
10 12
10 300
11 25
12 13
12 300
13 14
13 300
14 15
14 300
15 16
15 300
16 17
16 300
17 18
17 300
18 19
18 300
19 20
19 300
20 21
20 300
21 22
21 300
22 23
22 300
23 24
23 300
24 26
24 300
25 44
26...

result:

ok correct! #(YES) = 100, #(NO) = 0 (100 test cases)

Test #32:

score: 0
Accepted
time: 257ms
memory: 4668kb

input:

100
300
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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:

Yes
0
Yes
300
1 103
1 105
2 3
2 29
3 4
4 5
5 6
6 7
7 8
8 9
9 20
10 19
10 58
11 12
11 20
12 13
13 14
14 15
15 16
16 17
17 18
18 19
21 22
21 122
22 23
23 24
24 25
25 26
26 27
27 28
28 76
29 37
30 31
30 76
31 32
32 33
33 34
34 35
35 36
36 37
38 65
38 67
39 40
39 66
40 41
41 42
42 43
43 44
44 45
45 46
4...

result:

ok correct! #(YES) = 99, #(NO) = 1 (100 test cases)

Test #33:

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

input:

1000
3
3 0 2
1 2 0
2 0 3
3
0 1 1
2 1 3
0 2 3
3
3 1 2
0 0 1
3 0 0
3
3 0 3
0 3 2
1 2 2
3
0 2 1
0 1 3
1 1 1
3
3 0 1
3 2 2
0 2 2
3
2 2 0
1 0 0
2 1 1
3
1 1 3
1 2 2
0 0 3
3
3 3 0
0 1 0
1 0 0
3
0 2 1
2 2 2
2 0 0
3
3 0 3
0 2 2
0 1 1
3
0 1 3
3 0 2
2 0 0
3
0 3 3
2 1 0
2 0 3
3
1 1 0
1 2 3
1 1 3
3
0 0 0
0 1 1
3...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok correct! #(YES) = 0, #(NO) = 1000 (1000 test cases)

Test #34:

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

input:

1000
4
3 0 0 2
0 0 1 0
2 3 1 1
1 2 2 1
4
0 1 1 2
2 2 1 0
0 0 1 0
1 1 2 2
4
1 1 2 3
2 1 3 3
2 1 2 0
2 3 0 1
4
1 1 0 0
3 3 3 1
2 2 3 0
1 2 0 3
4
0 1 2 2
1 2 1 1
2 3 0 2
1 3 2 0
4
3 0 0 1
1 2 2 1
2 3 1 0
2 1 3 0
4
0 0 3 1
2 1 0 3
0 3 3 3
1 2 2 3
4
2 3 2 1
0 1 2 0
2 0 1 3
1 0 0 0
4
2 2 1 3
0 0 1 0
3 0 0...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok correct! #(YES) = 0, #(NO) = 1000 (1000 test cases)

Test #35:

score: 0
Accepted
time: 77ms
memory: 3792kb

input:

1000
50
0 1 0 0 1 0 0 1 2 0 3 2 3 1 0 3 0 3 0 0 0 0 0 3 3 0 3 0 1 0 2 2 1 0 3 1 3 1 2 2 3 3 3 1 0 0 2 0 1 3
1 1 3 2 2 0 1 1 2 2 3 1 3 3 0 2 2 1 0 1 2 3 2 2 0 3 2 3 1 0 1 3 3 1 0 0 0 0 1 2 1 0 2 1 1 3 0 3 3 1
1 0 3 3 2 0 2 1 2 1 1 0 1 2 3 0 2 1 0 0 2 1 2 1 2 1 0 3 1 0 2 0 0 2 2 2 3 1 2 1 3 2 3 3 3 0 ...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok correct! #(YES) = 0, #(NO) = 1000 (1000 test cases)

Test #36:

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

input:

1000
3
0 1 2
1 0 0
2 0 0
3
0 2 0
2 0 2
0 2 0
3
0 0 3
0 0 0
3 0 0
3
0 0 1
0 0 2
1 2 0
3
0 0 1
0 0 1
1 1 0
3
0 3 0
3 0 2
0 2 0
3
0 1 2
1 0 1
2 1 0
3
0 1 0
1 0 0
0 0 0
3
0 0 1
0 0 0
1 0 0
3
0 2 2
2 0 0
2 0 0
3
0 0 0
0 0 1
0 1 0
3
0 3 2
3 0 0
2 0 0
3
0 2 2
2 0 0
2 0 0
3
0 1 1
1 0 1
1 1 0
3
0 0 3
0 0 0
3...

output:

No
No
No
No
No
No
No
Yes
1
1 2
Yes
1
1 3
No
Yes
1
2 3
No
No
Yes
2
1 2
2 3
No
Yes
0
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
Yes
1
1 3
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
Yes
1
1 2
No
No
No
Yes
1
1 3
No
No
No
No
Yes
0
Yes
1
2 3
No
No
No
No
No
No
No
No
No
...

result:

ok correct! #(YES) = 103, #(NO) = 897 (1000 test cases)

Test #37:

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

input:

1000
4
0 0 2 1
0 0 3 2
2 3 0 2
1 2 2 0
4
0 2 0 1
2 0 0 1
0 0 0 2
1 1 2 0
4
0 2 2 2
2 0 1 3
2 1 0 0
2 3 0 0
4
0 3 2 1
3 0 2 2
2 2 0 0
1 2 0 0
4
0 1 2 1
1 0 3 3
2 3 0 2
1 3 2 0
4
0 1 2 2
1 0 3 1
2 3 0 3
2 1 3 0
4
0 2 0 1
2 0 3 2
0 3 0 2
1 2 2 0
4
0 0 2 1
0 0 0 0
2 0 0 0
1 0 0 0
4
0 0 3 2
0 0 0 1
3 0 0...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
Yes
1
2 3
No
No
Yes
2
1 3
3 4
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok correct! #(YES) = 5, #(NO) = 995 (1000 test cases)

Test #38:

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

input:

1000
6
0 0 1 1 2 2
0 0 0 0 0 3
1 0 0 3 0 3
1 0 3 0 2 2
2 0 0 2 0 0
2 3 3 2 0 0
6
0 0 1 3 3 0
0 0 2 2 0 1
1 2 0 0 2 3
3 2 0 0 3 2
3 0 2 3 0 3
0 1 3 2 3 0
6
0 0 3 1 1 3
0 0 2 1 2 1
3 2 0 1 3 1
1 1 1 0 1 3
1 2 3 1 0 0
3 1 1 3 0 0
6
0 2 1 0 0 2
2 0 2 3 2 2
1 2 0 3 2 2
0 3 3 0 1 2
0 2 2 1 0 2
2 2 2 2 2 0...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok correct! #(YES) = 0, #(NO) = 1000 (1000 test cases)

Test #39:

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

input:

1000
10
0 3 2 0 0 2 3 2 2 1
3 0 3 0 1 2 2 2 0 2
2 3 0 1 2 0 3 1 2 3
0 0 1 0 2 0 2 3 3 0
0 1 2 2 0 1 3 1 3 3
2 2 0 0 1 0 3 1 1 3
3 2 3 2 3 3 0 1 3 2
2 2 1 3 1 1 1 0 2 0
2 0 2 3 3 1 3 2 0 2
1 2 3 0 3 3 2 0 2 0
10
0 0 0 0 1 2 3 0 1 3
0 0 1 1 3 0 0 0 0 3
0 1 0 3 2 2 3 3 0 2
0 1 3 0 1 1 1 0 1 3
1 3 2 1 0...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok correct! #(YES) = 0, #(NO) = 1000 (1000 test cases)

Extra Test:

score: 0
Extra Test Passed