#include using namespace std; typedef long long lg; typedef unsigned long long ulg; typedef long double ld; #define mkp make_pair #define pb push_back #define endl "\n" const int N = 35, M = 2e5 + 5, INFi = 1e9 + 123, MOD = 1e9 + 7, KEY = 1001; const lg INFl = 1e18 + 123; const double EPS = 0.00000001, INFd = 1e18 + 1234.9; template inline T sqr(T t) { return t * t; } inline void file() { //cout.precision(9); cout< > > q; inline void check(int x, int y, int cost){ if (x < 0 || x >= n || y < 0 || y >= n || used[x][y]) return; used[x][y] = true; q.push(mkp(cost, mkp(x, y))); } inline int solve(int a, int b){ for (int i=0; i>n; for (int i=1; i