#include<bits/stdc++.h>
#define ll long long
#define pa pair<int,int>
using namespace std;
vector<pa>G[200004];
int n,cnt;
int ans[200004];
void dfs(int x,int fa,int une){
    int nowcnt=0;
    for(int i=0;i<G[x].size();i++){
        int to=G[x][i].first;
        if(to==fa)continue;
        nowcnt++;
        if(une==nowcnt)nowcnt++;
        cnt=max(nowcnt,cnt);
        ans[G[x][i].second]=nowcnt;
        dfs(to , x , nowcnt);
    }
}
int main(){
    scanf("%d",&n);
    memset(ans,0,sizeof(ans));
    for(int i=1;i<n;i++){
        int a,b;scanf("%d%d",&a,&b);
        G[a].push_back({b,i});
        G[b].push_back({a,i});
    }
    cnt=0;
    dfs(1,0,0);
    printf("%d\n",cnt);
    for(int i=1;i<n;i++){
        printf("%d\n",ans[i]);
    }
    return 0;
}
