#include <iostream>
#include<bits/stdc++.h>
using namespace std;
typedef struct node{
struct node *lchild,*rchild;
int data;
}treeno,*treenode;
void cretree(treenode &root){
int x;
cin>>x;
if(x){
root=new treeno;
root->data=x;
cretree(root->lchild);
cretree(root->rchild);
}else{
root=NULL;
}
}
void visit(treenode root){
if(root){
cout<<root->data;
visit(root->lchild);
visit(root->rchild);
}
}
int treeequal(treenode root,treenode myroot,int &flag){
if(root==NULL&&myroot==NULL) return 1;
if(root==NULL||myroot==NULL) return flag=0;
if(root->data==myroot->data){
treeequal(root->lchild,myroot->lchild,flag);
treeequal(root->rchild,myroot->rchild,flag);
}else{
flag=0;
}
return flag;
}
int main()
{
treenode root,myroot;
int flag=1;
cretree(root);
cretree(myroot);
int x=treeequal(root,myroot,flag);
//visit(root);
cout <<x<< endl;
return 0;
}