#include using std::cin; using std::cout; using std::endl; using std::set; using std::map; using std::min; using std::max; using std::vector; using std::deque; using std::queue; using std::min; using std::max; using std::swap; using std::string; using std::sort; using std::unique; typedef long long ll; typedef double db; const int MOD = 1000000007; const int N = 1000005; struct Pir { ll x,y; }; ll get_gcd(ll x,ll y) {return (y==0) ? x : get_gcd(y,x%y);} ll power(const ll & x,const ll & mi) { ll s1=1LL,s2=x,m=mi; while (m) { if (m&1) s1=s1*s2%MOD; s2=s2*s2%MOD; m>>=1; } return s1; } inline ll get_inv(ll x) { return power(x,MOD - 2); } ll dp[1005][1005][12]; void solve() { int n,m; cin>>n>>m; if (dp[n][m][0]==0) puts("-1");else cout<>T; while (T--) solve(); return 0; }