#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const ll mod=998244353; bool a[1000][1000]; int n,m,au[1000][9],p[1000][1000],ee,fa[900],num[900]; ll two[1000]; struct edge { int x,y,next; }e[8888888]; void addedge(int x,int y,int u,int v) { if(x==y) return; if(x>y) {x=x^y;y=x^y;x=x^y;} e[ee].x=u;e[ee].y=v;e[ee].next=p[x][y];p[x][y]=ee++; } void init() { int i,j,k,x,y; queue qx,qy;ee=0; for(i=1;i<=n;i++) {fa[i]=i;num[i]=1;} for(i=1;i