#include <iostream>
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;

typedef pair<int,int> PII;
const int M=1e5+5;
vector<PII> g[M];
int ans[M];
int mc;
void dfs(int u,int fa,int fac)
{
	int c=1;
	for(auto p:g[u])
	{
		int v=p.first,id=p.second;
		if(v==fa) continue;
		if(c==fac) c++;
		ans[id]=c;
		dfs(v,u,c);
		mc=max(mc,c++);
	}
}

int main()
{
	int n;
	scanf("%d",&n);
	int a,b;
	for(int i=1;i<n;i++)
	{
		scanf("%d%d",&a,&b);
		g[a].emplace_back(b,i);
		g[b].emplace_back(a,i);
	}
	mc=0;
	dfs(1,0,0);
	printf("%d\n",mc);
	for(int i=1;i<n;i++)
		printf("%d\n",ans[i]);
	return 0;
}