#include #include #include #include #include #include #include #include #include #include using namespace std; long long extgcd(long long a, long long b, long long &x, long long &y){ long long d=a; if(b!=0){ d = extgcd(b, a%b, y, x); y -= (a/b) * x; }else{ x = 1; y = 0; } return d; } long long mod_inverse(long long a, long long m){ long long x,y; extgcd(a,m,x,y); return (m+x%m)%m; } // A[n*p] * X[p*m] = B[n*m] template int gaussian_elimination_with_mod(vector>& A, vector>& B, int n, int p, int m, const T mod){ int R = max(n,p); int C = p+m; vector> V( R, vector(C, 0) ); for(int i=0; i left(R, -1); //foward for(int col=0; col=0; i--){ bool zero = true; bool valid = true; for(int col=0; col=0; j--){ for(int k=0; k> n; vector d(n), w(n); for(int i=0; i> d[i]; for(int i=0; i> w[i]; vector> A(n, vector(n, 0)); for(int i=0; i> B(n, vector(1, 0)); for(int i=0; i(A,B, n,n,1, 2); cout << ((rank == -1)?"No":"Yes") << endl; return 0; }