#include
#include
#include
#include
using namespace std;
class node {
public:
node *left;
int data;
node *right;
node (int data){
left=NULL;
this->data = data;
right = NULL;
}
};
node * BuildTree(){
int d;
cin>>d;
if(d==-1){
return NULL;
}
node *root = new node(d);
root->left = BuildTree();
root ->right = BuildTree();
return root;
}
int height(node *root){
if(root==NULL){
return 0;
}
int ls = height(root->left);
int rs = height(root->right);
return max(ls,rs)+1;
}
bool check_balance(node *root){
if(root==NULL){
return true;
}
int height_ls = height(root->left);
int height_rs = height(root->right);
if(abs(height_ls-height_rs)<=1){
check_balance(root->left);
check_balance(root->right);
}else{
return false;
}
return true;
}
int main() {
node *root = BuildTree();
cout<<check_balance(root);
}