#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<int> g[1000002];
int used[1000002];
int vis[1000002];
const int MOD=100003;
struct point
{
int x,step;
}q[10000001],s;
int front,tail;
void bfs()
{
front=tail=1;
memset(used,0x7f7f7f,sizeof(used));
memset(vis,0,sizeof(vis));
used[1]=0;
s.x=1,s.step=0;
q[1]=s;
vis[1]=1;
while(front<=tail)
{
point u=q[front++];
point v;
for(int i=0; i<g[u.x].size(); i++)
{
v.x=g[u.x][i],v.step=u.step+1;
if(used[v.x]<v.step) continue;
vis[v.x]=(vis[v.x]+1)%MOD;
used[v.x]=v.step;
q[++tail]=v;
}
}
}
void output(){
for(int i=1; i<=n; i++)
{
printf("%d\n",(vis[i]%MOD));
}
}
int main()
{
cin>>n>>m;
for(int i=1; i<=m; i++)
{
int x,y;
scanf("%d%d",&x,&y);
g[x].push_back(y);
g[y].push_back(x);
}
bfs();
output();
return 0;
}