题目
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
int x,y,tim;
int sum[100001];
bool pd[100001];
int main(){
while(cin>>x>>y){
if(x==-1&&y==-1)return 0;
tim++;
if(x==0&&y==0){
cout<<"Case "<<tim<<" is a tree."<<endl;
continue;
}
int rot=0;
bool b=0;
memset(pd,0,sizeof(pd));
memset(sum,0,sizeof(sum));
pd[x]=1,pd[y]=1;
sum[y]++;
while(cin>>x>>y){
if(x==0&&y==0)break;
pd[x]=1,pd[y]=1;
sum[y]++;
}
for(int i=1;i<=100000;i++){
if(!pd[i])continue;
if(sum[i]>1){
b=1;
break;
}
if(sum[i]==0)rot++;
}
if(rot!=1||b)cout<<"Case "<<tim<<" is not a tree."<<endl;
else cout<<"Case "<<tim<<" is a tree."<<endl;
}
}