rt,全 WA
#include <bits/stdc++.h>
using namespace std;
#define mod 19260817
inline int read(){
int x=0;bool f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=0;ch=getchar();}
while(ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
return f?x:-x;
}
int n,m,u,v,vis[20][20],f[20][(1<<18)+5][2],c,s[(1<<18)+5],ans;
inline int sum(int x){
if(~s[x]) return s[x];
for(int i=0;(1<<i)<=x;i++)
if((1<<i)&x)
s[x]+=i+1;
return s[x]=s[x]&1;
}
int main(){
n=read(),m=read();
for(int i=0;i<(1<<n);i++)
s[i]=-1;
while(m--)
u=read(),v=read(),vis[u][v]++,vis[v][u]++;
c=read();
f[1][1][0]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<(1<<n);j++)
if(j&(1<<i-1))
for(int k=1;k<=n;k++)
if((i^k)&&(!(j&(1<<k-1))))
f[k][j|(1<<k-1)][k*sum(j)&1]=1ll*(f[k][j|(1<<k-1)][k*sum(j)&1]+f[i][j][0]*vis[i][k])%mod,
f[k][j|(1<<k-1)][(k*sum(j)&1)^1]=1ll*(f[k][j|(1<<k-1)][(k*sum(j)&1)^1]+f[i][j][1]*vis[i][k])%mod;
for(int i=1;i<(1<<n);i+=2)
if((1<<n-1)&i)
(ans+=f[n][i][c])%=mod;
printf("%d\n",ans);
return 0;
}