#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
const int _MAX=0x3f3f3f3f;
const int N=1e6+10;
unordered_map<int ,int>p;
int e[N],l[N],r[N],idx=2;
void insert(int x,int y){
int t=p[y];
e[idx]=x;
r[idx]=r[t];
l[idx]=t;
l[r[t]]=idx;
r[t]=idx++;
}
void insert_head(int x){
e[idx]=x;
r[idx]=r[0];
l[idx]=0;
r[0]=idx++;
}
void remove(int x){
int t=p[x];
r[l[t]]=r[t];
l[r[t]]=l[t];
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
r[0]=1;
l[1]=0;
int q;
cin>>q;
int x,y,z;
int cnt=0;
while(q--){
cin>>x;
if(x==1){
cnt++;
cin>>y>>z;
p[y]=idx;
if(z==0){
insert_head(y);
}
else {
insert(y,z);
}
}
else {
cnt--;
cin>>y;
remove(y);
p.erase(y);
}
}
cout<<cnt<<'\n';
for(int i=r[0];i!=1;i=r[i]){
cout<<e[i]<<' ';
}
return 0;
}