#include<bits/stdc++.h>
using namespace std;
#define ll long long
void f()
{
ll n;
cin>>n;
vector<vector<ll>>e(n+1);
for(ll i=0;i<n;i++)
{
ll x,y;
cin>>x>>y;
e[x].push_back(y);
e[y].push_back(x);
}
vector<ll>o(n+1,-1),p(n+1);
ll t=0;
queue<ll>q;
q.push(0);
o[0]=t++;
while(!q.empty())
{
ll x=q.front();
q.pop();
for(ll y:e[x])
{
if(o[y]!=-1)
{
continue;
}
o[y]=t++;
p[o[y]]=o[x];
q.push(y);
}
}
vector<vector<ll>>s={{0,1}};
for(ll i=1;i<n;i++)
{
ll k=s.size();
for(ll j=0;j<k;j++)
{
s.push_back(s[j]);
for(ll &x:s.back())
{
x^=1^(1LL<<i);
}
}
for(auto &v:s)
{
v.push_back(v[p[i+1]]^(1LL<<i));
}
}
cout<<s.size()<<endl;
for(auto &v:s)
{
for(ll i=0;i<=n;i++)
{
cout<<v[o[i]]<<" ";
}
cout<<endl;
}
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
f();
return 0;
}