#include<stdio.h>
int a[200],n,in[200],k=0;
void inorder(int i){
if(i>=n||a[i]==-1)return;
inorder(2*i+1);in[k++]=a[i];inorder(2*i+2);
}
int main(){
n=0;
while(scanf("%d",&a[n])==1){
n++;if(getchar()=='\n')break;
}
inorder(0);
for(int i=0;i<k;i++){
if(in[i]<=in[i-1]){
printf("The given tree is not a Binary Tree.");return 0;}
}
printf("The given tree is a Binary Tree.");return 0;
}
#include<stdio.h>
#include<stdlib.h>
typedef struct node{int data;struct node *left,*right;}node;
node* createnode(int value){
node* newnode=(node*)malloc(sizeof(node));
newnode->data=value;newnode->left=newnode->right=NULL;return newnode;
}
node* tree(int arr{{^^%5B%5D^^}},int i,int n){
if(i>=n)return NULL;
node* root=createnode(arr[i]);
root->left=tree(arr,2*i+1,n);root->right=tree(arr,2*i+2,n);
return root;
}
void preorder(node* root){
if(root==NULL)return;
printf("%d ",root->data);preorder(root->left);preorder(root->right);
}
int main(){
int arr[5];
for(int i=0;i<5;i++){
scanf("%d",&arr[i]);
}
node *root=tree(arr,0,5);
printf("Preorder traversal:\n");preorder(root);
}