#include "vision.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <stack>
#include <queue>
#include <map>
#include <deque>
#include <math.h>
#include <array>
#include <set>
#include <string>
#include <utility>

#define rep(i, s, e) for (ll i = s; i < e; i++)
#define upmax(a, b) a = max(a, b)
#define upmin(a, b) a = min(a, b)

using namespace std;
using ll = long long;
using vll = vector<ll>;
using vvll = vector<vll>;
using pll = pair<ll, ll>;
using vpll = vector<pll>;
using vvpll = vector<vpll>;

const ll INF = 1e18;

vector<int> getVisionPattern1d() {
    vector<int> res;
    rep(i, 2, 8) {
        rep(j, 0, i - 1) {
            res.push_back(1);
        }
        res.push_back(i);
    }
    return res;
}

int getMove1d(vector<int> v) {
    ll n = v.size();
    vpll arr(n);
    rep(i, 0, n) {
        arr[i] = { v[i], i };
    }
    if (v[n / 2] == 1) return 2;
    if (v[n - 1] != 1) return n - 1;
    return 0;
}

std::vector<std::vector<int>> getVisionPattern2d()
{
    return { {1} };
}

std::pair<int, int> getMove2d(std::vector<std::vector<int>> v)
{
    return { 0, 0 };
}
