https://www.luogu.com.cn/problem/P1144
#include<bits/stdc++.h>
#define lc p<<1
#define rc p<<1|1
#define INF 1e18
using namespace std;
#define lowbit(x) x&(-x)
#define endl '\n'
using ll = long long;
using pii = pair<int,ll>;
const double PI = acos(-1);
const int N=1e6+10;
const int M=1e6+10;
const int mod=100003;
vector<pii> g[N];
int n,m;
bool st[N];
ll dis[N];
int cnt[N];
void dijstra(){
for(int i=1;i<=n;i++)
dis[i]=1e18;
priority_queue<pii,vector<pii>,greater<pii>>q;
dis[1]=0;
cnt[1]=1;
q.push({0,1});
while(q.size()){
auto [dist,u]=q.top();
q.pop();
if(st[u]) continue;
st[u]=1;
for(auto [v,d]:g[u]){
if(st[v]) continue;
if(dist+d<dis[v]){
dis[v]=dist+d;
cnt[v]=cnt[u]%mod;
q.push({dis[v],v});
}
else if(dist+d==dis[v]){
cnt[v]=(cnt[v]+cnt[u])%mod;
}
}
}
}
void solve(){
cin>>n>>m;
for(int i=1;i<=m;i++){
int u,v;cin>>u>>v;
g[u].push_back({v,1});
g[v].push_back({u,1});
}
dijstra();
for(int i=1;i<=n;i++){
cout<<cnt[i]<<endl;
}
}
int main() {
// ios::sync_with_stdio(false);
// cin.tie(nullptr), cout.tie(nullptr);
int T = 1;
// cin>>T;
while (T--) {
solve();
}
return 0;
}