#include #define PI 3.14159265358979323846 #define MAXINF (1e18L) #define INF (1e9L) #define EPS (1e-9) #define MOD ((ll)(1e9+7)) #define REP(i, n) for(int i=0;i=0;--i) #define ALL(v) v.begin(),v.end() #define FIND(v,x) (binary_search(ALL(v),(x))) #define SORT(v) sort(ALL(v)) #define RSORT(v) sort(ALL(v));reverse(ALL(v)) #define DEBUG(x) cerr<<#x<<": "<void pr(A a){cout << (a) << endl;} templatevoid pr(A a,B b){cout << a << " " ;pr(b);} templatevoid pr(A a,B b,C c){cout << a << " " ;pr(b,c);} templatevoid pr(A a,B b,C c,D d){cout << a << " " ;pr(b,c,d);} template void pr_vec(vector &v, char ep=' '){int n=v.size();REP(ni,n){cout< inline bool chmin(T& a, T b){return a>b ? a=b, true : false;} template inline bool chmax(T& a, T b){return a pii; typedef pair pll; int gauss_jordan(vector& mat){ int n = mat.size(); int ret = 0; REP(i,n) if(mat[i]) { ret++; int x=0; while((1LL<<(x+1))<=mat[i]) x++; for(int y = i+1; y> N; vector A(N); for (int i = 0; i < N; i++) { cin >> A[i]; } pr(1LL<