#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
int dis(int i1, int j1, int i2, int j2) {
return abs(i1-i2) + abs(j1-j2);
}
void construct_network(int H, int W, int k) {
int S = H*W;
vector<vector<int>> grid(H, vector<int>(W, -1));
for (int i=0; i<H; i++) {
for (int j=0; j<W; j++) {
int id = i*W+j;
vector<int> Ns;
//cout << i << " " << j << ": " << endl;
for (int i1=0; i1<H; i1++) {
for (int j1=0; j1<W; j1++) {
if (dis(i, j, i1, j1) == k) {
int id1 = i1*W + j1;
Ns.push_back(id1);
//cout << i1 << " " << j1 << endl;
}
}
}
Ns.push_back(id);
grid[i][j] = S;
add_xor(Ns);
add_not(S);
Ns.pop_back();
add_xor(Ns);
S += 3;
}
}
vector<int> res;
int beg = S;
for (int i=0; i<H; i++) {
for (int j=0; j<W; j++) {
vector<int> Ns = {grid[i][j]+1, grid[i][j]+2};
add_and(Ns);
S++;
}
}
for (int i=beg; i<S; i++) {
res.push_back(i);
}
add_or(res);
}