1 #include <iostream>
2 #include <map>
3 #include <cstring>
4 #include <cstdio>
5
6 using namespace std;
7
8 int father[100010];
9 int num[100010];
10
11 int main()
12 {
13 int a,b;
14 while(true)
15 {
16 int flag=1;
17 int time=1;
18 for(int i=1;i<=100000;i++)
19 father[i]=i;
20 for(int i=1;i<=100000;i++)
21 num[i]=1;
22 while(cin>>a>>b)
23 {
24 if(a==0&&b==0)
25 break;
26 if(a==-1&&b==-1)
27 goto F1;
28 time++;
29 int fa=a;
30 int fb=b;
31 while(fa!=father[fa])
32 {
33 fa=father[fa];
34 }
35 while(fb!=father[fb])
36 {
37 fb=father[fb];
38 }
39 int t1=a;
40 while(t1!=fa)
41 {
42 int tmp=father[t1];
43 father[t1]=fa;
44 t1=tmp;
45 }
46 int t2=b;
47 while(t2!=fb)
48 {
49 int tmp=father[t2];
50 father[t2]=fb;
51 t2=tmp;
52 }
53 if(fa==fb)
54 flag=0;
55 else
56 {
57 father[fb]=fa;
58 num[fa]+=num[fb];
59 num[fb]=0;
60 }
61 }
62 if(flag)
63 {
64 flag=0;
65 for(int i=1;i<=100000;i++)
66 {
67 if(num[i]==time)
68 {
69 flag=1;
70 }
71 }
72 }
73 if(flag)
74 cout<<"Yes"<<endl;
75 else
76 cout<<"No"<<endl;
77 }
78 F1:
79 return 0;
80 }