#include <bits/stdc++.h>
using namespace std;
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define rep(i,n)   FOR(i,0,n)
#define pb emplace_back
typedef long long ll;
typedef pair<int,int> pint;

vector<int> v[101],ans;
int main(){
    int n;
    while(cin>>n,n){
        rep(i,n+1){
            v[i].clear();
            v[i].pb(i);
        }
        ans.clear();
        int l,u;
        while(cin>>u>>l,u!=0||l!=0){
            int tgl=-2,tgu=-1;
            int cl=-1,cu=-1;
            FOR(i,1,n+1){
                rep(j,v[i].size()){
                    if(v[i][j]==u) cu=j,tgu=i;
                    if(v[i][j]==l) cl=j,tgl=i;
                }
            }
            if(tgu==tgl){
                if(cu<cl){
                    int cur=v[tgl].size();--cur;
                    while(cu!=cur){
                        v[v[tgl][cur]].pb(v[tgl][cur]);
                        v[tgl].pop_back();
                        --cur;
                    }
                    v[tgl].pop_back();v[l].pb(u); 
                }
            }
            else{
                if(cu==0&&cl==-1) continue;
                if(cl==-1) tgl=u;
                int cur=v[tgu].size();--cur;
                while(cu!=cur){
                    v[v[tgu][cur]].pb(v[tgu][cur]);
                    v[tgu].pop_back();
                    --cur;
                }
                v[tgu].pop_back();v[tgl].pb(u);
            }
        }
        FOR(i,1,n+1) ans.pb(v[i].size());
        sort(ans.begin(),ans.end());
        for(auto it:ans)if(it!=0)cout<<it<<endl;
        cout<<"end"<<endl;
    }
    return 0;
}
