void gauss(int k) // k: the size of matrix
{
    int r,c;// r: row
    for(c=0,r=c;c<k;c++){ // c =  col
        int  t=r;
        for(int i=r+1;i<k;i++)
            if(b[i][c]>b[t][c])
                t=i;
        if(!b[t][c])    continue;
        swap(b[t],b[r]);
        for(int i=r+1;i<k;i++)
            if(b[i][c]){
                b[i]^=b[r];
            }
        r++;
    }
    cout<<qmi(2,k-r)<<endl; // freenum 
}