Pagini recente » Cod sursa (job #28044) | Cod sursa (job #1723951) | Cod sursa (job #972318) | Cod sursa (job #154913) | Cod sursa (job #1344531)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream cin("clepsidra.in");
ofstream cout("clepsidra.out");
#define mod 666013
#define nmax 200010
#define pb push_back
#define forv(v,it) for (vector<int>::iterator it=v.begin();it!=v.end();it++)
#define forn(i,a,b) for (int i=a;i<=b;i++)
int n,m,x,y,fii;
int dfn[nmax],low[nmax],v[nmax],art[nmax];
vector<int> g[nmax];
void dfs(int nod,int p,int num)
{
dfn[nod]=low[nod]=++num;
forv(g[nod],it)
{
if (*it==p) continue;
if (!dfn[*it])
{
if (nod==1) fii++;
dfs(*it,nod,num);
low[nod]=min(low[nod],low[*it]);
if (low[*it]>=dfn[nod])
if (nod!=1) art[nod]=1;
}
else low[nod]=min(low[nod],dfn[*it]);
}
}
int p2(int nod)
{
int exp,r=1;
forn(i,1,v[nod]-1)
r*=2,r%=mod;
r-=2;
if (r<0)
r+=mod;
return r;
}
int main()
{
cin>>n>>m;
forn(i,1,m)
{
cin>>x>>y;
v[x]++,v[y]++;
g[x].pb(y);
g[y].pb(x);
}
dfs(1,0,0);
if (fii>1) art[1]=1;
forn(i,1,n)
if (!art[i]) cout<<0<<'\n';
else cout<<p2(i)<<'\n';
}