ll@n,@m,@k,h,i=0,j=0; ull a[m][40]{}; rep(y,m){ string@s; rep(x,n){ a[y][x>>6]|=(ull)(s[x]&1)<<(x&63); } } while(i>6; ull u=1ull<<(j&63); h=i; while(hi){ rep(l,40){ a[i][l]^=a[h][l]; } } rep(o,i+1,m){ if(a[o][t]&u){ rep(l,40){ a[o][l]^=a[i][l]; } } } ++i; } ++j; } modint z; z.setmod(k); z=0; if(n-i>=0){ z=2; z**=n-i; } wt(z);