Given the following C code and unoptimized assembly code, your task is to generate highly optimized x86-64 assembly code.
C Code:

```c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node
{
  int id;
  struct node *parent;
  struct node *child[2];
} *nodePointer;
nodePointer root;
nodePointer make1node(int);
void insert(nodePointer);
int find(nodePointer,int);
void preorderWalk(nodePointer);
void inorderWalk(nodePointer);
int main(void)
{
  int i;//counter
  int n;//the number of operation
  char op[10];//operation
  int id;//inserted or found number
  nodePointer p;
  root=NULL;
  scanf("%d",&n);
  for(i=0;i<n;i++)
    {
      scanf("%s",op);
      if(strcmp(op,"insert")==0)
	{
	  scanf("%d",&id);
	  p=make1node(id);
	  insert(p);
	}
      else if(strcmp(op,"find")==0)
	{
	  scanf("%d",&id);
	  if(find(root,id)==1) printf("yes\n");
	  else printf("no\n");
	}
      else if(strcmp(op,"print")==0)
	{
	  inorderWalk(root);
	  preorderWalk(root);
	}
      else
	{
	  printf("undefined operation\n");
	  exit(1);
	}
    }
  return 0;
}
nodePointer make1node(int id)
{
  nodePointer p;
  p=(nodePointer)malloc(sizeof(struct node));
  p->id=id;
  p->parent=NULL;
  p->child[0]=NULL;
  p->child[1]=NULL;
  return p;
}
void insert(nodePointer p)
{
  nodePointer parent=NULL;//parent of p
  nodePointer temp=root;
  while(temp!=NULL)
    {
      parent=temp;
      if(p->id < temp->id) temp=temp->child[0];
      else temp=temp->child[1];
    }
  p->parent=parent;
  if(parent==NULL) root=p;
  else if(p->id < parent->id) parent->child[0]=p;
  else parent->child[1]=p;
}
int find(nodePointer p,int id)
{
  if(p==NULL) return 0;
  if(p->id < id) return find(p->child[1],id);
  if(p->id == id) return 1;
  if(p->id > id) return find(p->child[0],id);
}
void preorderWalk(nodePointer p)
{
  if(p!=NULL)
    {
      printf(" %d",p->id);
      preorderWalk(p->child[0]);
      preorderWalk(p->child[1]);
      if(p==root)
	{
	  printf("\n");
	}
    }
}
void inorderWalk(nodePointer p)
{
  if(p!=NULL)
    {
      inorderWalk(p->child[0]);
      printf(" %d",p->id);
      inorderWalk(p->child[1]);
      if(p==root)
	{
	  printf("\n");
	}
    }
}


```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	root
	.bss
	.align 8
	.type	root, @object
	.size	root, 8
root:
	.zero	8
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%s"
.LC2:
	.string	"insert"
.LC3:
	.string	"find"
.LC4:
	.string	"yes"
.LC5:
	.string	"no"
.LC6:
	.string	"print"
.LC7:
	.string	"undefined operation"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movq	$0, root(%rip)
	leaq	-44(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -36(%rbp)
	jmp	.L2
.L8:
	leaq	-18(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	leaq	-18(%rbp), %rax
	leaq	.LC2(%rip), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcmp@PLT
	testl	%eax, %eax
	jne	.L3
	leaq	-40(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-40(%rbp), %eax
	movl	%eax, %edi
	call	make1node
	movq	%rax, -32(%rbp)
	movq	-32(%rbp), %rax
	movq	%rax, %rdi
	call	insert
	jmp	.L4
.L3:
	leaq	-18(%rbp), %rax
	leaq	.LC3(%rip), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcmp@PLT
	testl	%eax, %eax
	jne	.L5
	leaq	-40(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-40(%rbp), %edx
	movq	root(%rip), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	find
	cmpl	$1, %eax
	jne	.L6
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	jmp	.L4
.L6:
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	jmp	.L4
.L5:
	leaq	-18(%rbp), %rax
	leaq	.LC6(%rip), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcmp@PLT
	testl	%eax, %eax
	jne	.L7
	movq	root(%rip), %rax
	movq	%rax, %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	movq	%rax, %rdi
	call	preorderWalk
	jmp	.L4
.L7:
	leaq	.LC7(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$1, %edi
	call	exit@PLT
.L4:
	addl	$1, -36(%rbp)
.L2:
	movl	-44(%rbp), %eax
	cmpl	%eax, -36(%rbp)
	jl	.L8
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L10
	call	__stack_chk_fail@PLT
.L10:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.globl	make1node
	.type	make1node, @function
make1node:
.LFB7:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	$32, %edi
	call	malloc@PLT
	movq	%rax, -8(%rbp)
	movq	-8(%rbp), %rax
	movl	-20(%rbp), %edx
	movl	%edx, (%rax)
	movq	-8(%rbp), %rax
	movq	$0, 8(%rax)
	movq	-8(%rbp), %rax
	movq	$0, 16(%rax)
	movq	-8(%rbp), %rax
	movq	$0, 24(%rax)
	movq	-8(%rbp), %rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	make1node, .-make1node
	.globl	insert
	.type	insert, @function
insert:
.LFB8:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -24(%rbp)
	movq	$0, -16(%rbp)
	movq	root(%rip), %rax
	movq	%rax, -8(%rbp)
	jmp	.L14
.L16:
	movq	-8(%rbp), %rax
	movq	%rax, -16(%rbp)
	movq	-24(%rbp), %rax
	movl	(%rax), %edx
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, %edx
	jge	.L15
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movq	%rax, -8(%rbp)
	jmp	.L14
.L15:
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movq	%rax, -8(%rbp)
.L14:
	cmpq	$0, -8(%rbp)
	jne	.L16
	movq	-24(%rbp), %rax
	movq	-16(%rbp), %rdx
	movq	%rdx, 8(%rax)
	cmpq	$0, -16(%rbp)
	jne	.L17
	movq	-24(%rbp), %rax
	movq	%rax, root(%rip)
	jmp	.L20
.L17:
	movq	-24(%rbp), %rax
	movl	(%rax), %edx
	movq	-16(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, %edx
	jge	.L19
	movq	-16(%rbp), %rax
	movq	-24(%rbp), %rdx
	movq	%rdx, 16(%rax)
	jmp	.L20
.L19:
	movq	-16(%rbp), %rax
	movq	-24(%rbp), %rdx
	movq	%rdx, 24(%rax)
.L20:
	nop
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	insert, .-insert
	.globl	find
	.type	find, @function
find:
.LFB9:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	movl	%esi, -12(%rbp)
	cmpq	$0, -8(%rbp)
	jne	.L22
	movl	$0, %eax
	jmp	.L21
.L22:
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -12(%rbp)
	jle	.L24
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movl	-12(%rbp), %edx
	movl	%edx, %esi
	movq	%rax, %rdi
	call	find
	jmp	.L21
.L24:
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -12(%rbp)
	jne	.L25
	movl	$1, %eax
	jmp	.L21
.L25:
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -12(%rbp)
	jge	.L26
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movl	-12(%rbp), %edx
	movl	%edx, %esi
	movq	%rax, %rdi
	call	find
	jmp	.L21
.L26:
.L21:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	find, .-find
	.section	.rodata
.LC8:
	.string	" %d"
	.text
	.globl	preorderWalk
	.type	preorderWalk, @function
preorderWalk:
.LFB10:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	cmpq	$0, -8(%rbp)
	je	.L29
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, %esi
	leaq	.LC8(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movq	%rax, %rdi
	call	preorderWalk
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movq	%rax, %rdi
	call	preorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, -8(%rbp)
	jne	.L29
	movl	$10, %edi
	call	putchar@PLT
.L29:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	preorderWalk, .-preorderWalk
	.globl	inorderWalk
	.type	inorderWalk, @function
inorderWalk:
.LFB11:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	cmpq	$0, -8(%rbp)
	je	.L32
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movq	%rax, %rdi
	call	inorderWalk
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, %esi
	leaq	.LC8(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movq	%rax, %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, -8(%rbp)
	jne	.L32
	movl	$10, %edi
	call	putchar@PLT
.L32:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	inorderWalk, .-inorderWalk
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
user
	.file	"temp.c"
	.text
	.p2align 4
	.globl	make1node
	.type	make1node, @function
make1node:
.LFB52:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movl	%edi, %ebx
	movl	$32, %edi
	call	malloc@PLT
	pxor	%xmm0, %xmm0
	movl	%ebx, (%rax)
	movq	$0, 24(%rax)
	movups	%xmm0, 8(%rax)
	popq	%rbx
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE52:
	.size	make1node, .-make1node
	.p2align 4
	.globl	insert
	.type	insert, @function
insert:
.LFB53:
	.cfi_startproc
	endbr64
	movq	root(%rip), %rax
	testq	%rax, %rax
	je	.L5
	movl	(%rdi), %esi
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L15:
	movq	16(%rax), %rdx
	testq	%rdx, %rdx
	je	.L14
.L12:
	movq	%rdx, %rax
.L8:
	movl	(%rax), %ecx
	cmpl	%ecx, %esi
	jl	.L15
	movq	24(%rax), %rdx
	testq	%rdx, %rdx
	jne	.L12
.L14:
	movq	%rax, 8(%rdi)
	cmpl	%ecx, %esi
	jge	.L11
	movq	%rdi, 16(%rax)
	ret
	.p2align 4,,10
	.p2align 3
.L11:
	movq	%rdi, 24(%rax)
	ret
	.p2align 4,,10
	.p2align 3
.L5:
	movq	$0, 8(%rdi)
	movq	%rdi, root(%rip)
	ret
	.cfi_endproc
.LFE53:
	.size	insert, .-insert
	.p2align 4
	.globl	find
	.type	find, @function
find:
.LFB54:
	.cfi_startproc
	endbr64
	.p2align 4,,10
	.p2align 3
.L20:
	testq	%rdi, %rdi
	je	.L23
	cmpl	%esi, (%rdi)
	jl	.L26
	je	.L24
	jle	.L21
	movq	16(%rdi), %rdi
	jmp	.L20
	.p2align 4,,10
	.p2align 3
.L26:
	movq	24(%rdi), %rdi
	jmp	.L20
	.p2align 4,,10
	.p2align 3
.L23:
	xorl	%eax, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L24:
	movl	$1, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L21:
	ret
	.cfi_endproc
.LFE54:
	.size	find, .-find
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	" %d"
	.text
	.p2align 4
	.globl	preorderWalk
	.type	preorderWalk, @function
preorderWalk:
.LFB55:
	.cfi_startproc
	endbr64
	testq	%rdi, %rdi
	je	.L67
	pushq	%r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	xorl	%eax, %eax
	pushq	%r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	pushq	%r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	pushq	%rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	leaq	.LC0(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	movl	(%rdi), %edx
	movq	%rdi, %rbx
	movq	%rbp, %rsi
	movl	$1, %edi
	call	__printf_chk@PLT
	movq	16(%rbx), %r12
	testq	%r12, %r12
	je	.L31
	movl	(%r12), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r12), %r13
	testq	%r13, %r13
	je	.L33
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L35
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	cmpq	root(%rip), %r14
	je	.L77
.L35:
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L70
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L78
.L38:
	cmpq	%rax, %r13
	je	.L79
.L33:
	movq	24(%r12), %r13
	testq	%r13, %r13
	je	.L72
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L43
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	cmpq	root(%rip), %r14
	je	.L80
.L43:
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L71
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L81
.L46:
	cmpq	%rax, %r13
	je	.L82
.L41:
	cmpq	%rax, %r12
	je	.L83
.L31:
	movq	24(%rbx), %r12
	testq	%r12, %r12
	je	.L76
	movl	(%r12), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r12), %r13
	testq	%r13, %r13
	je	.L51
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L53
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	cmpq	root(%rip), %r14
	je	.L84
.L53:
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L73
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L85
.L56:
	cmpq	%rax, %r13
	je	.L86
.L51:
	movq	24(%r12), %r13
	testq	%r13, %r13
	je	.L75
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L61
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	cmpq	root(%rip), %r14
	je	.L87
.L61:
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L74
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L88
.L64:
	cmpq	%rax, %r13
	je	.L89
.L59:
	cmpq	%rax, %r12
	jne	.L49
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L76:
	movq	root(%rip), %rax
.L49:
	cmpq	%rax, %rbx
	je	.L90
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%rbp
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L67:
	.cfi_restore 3
	.cfi_restore 6
	.cfi_restore 12
	.cfi_restore 13
	.cfi_restore 14
	ret
	.p2align 4,,10
	.p2align 3
.L89:
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	.cfi_offset 6, -40
	.cfi_offset 12, -32
	.cfi_offset 13, -24
	.cfi_offset 14, -16
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L75:
	movq	root(%rip), %rax
	jmp	.L59
	.p2align 4,,10
	.p2align 3
.L82:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L72:
	movq	root(%rip), %rax
	jmp	.L41
	.p2align 4,,10
	.p2align 3
.L90:
	popq	%rbx
	.cfi_remember_state
	.cfi_restore 3
	.cfi_def_cfa_offset 40
	movl	$10, %edi
	popq	%rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_restore 12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_restore 13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_restore 14
	.cfi_def_cfa_offset 8
	jmp	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L78:
	.cfi_restore_state
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L70:
	movq	root(%rip), %rax
	jmp	.L38
	.p2align 4,,10
	.p2align 3
.L88:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L74:
	movq	root(%rip), %rax
	jmp	.L64
	.p2align 4,,10
	.p2align 3
.L81:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L71:
	movq	root(%rip), %rax
	jmp	.L46
	.p2align 4,,10
	.p2align 3
.L85:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L73:
	movq	root(%rip), %rax
	jmp	.L56
	.p2align 4,,10
	.p2align 3
.L83:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L86:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L51
	.p2align 4,,10
	.p2align 3
.L79:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L33
	.p2align 4,,10
	.p2align 3
.L80:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L43
	.p2align 4,,10
	.p2align 3
.L87:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L61
	.p2align 4,,10
	.p2align 3
.L84:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L53
	.p2align 4,,10
	.p2align 3
.L77:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L35
	.cfi_endproc
.LFE55:
	.size	preorderWalk, .-preorderWalk
	.p2align 4
	.globl	inorderWalk
	.type	inorderWalk, @function
inorderWalk:
.LFB56:
	.cfi_startproc
	endbr64
	testq	%rdi, %rdi
	je	.L131
	pushq	%r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	pushq	%r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	pushq	%r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	pushq	%rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	leaq	.LC0(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	movq	16(%rdi), %r12
	movq	%rdi, %rbx
	testq	%r12, %r12
	je	.L95
	movq	16(%r12), %r13
	leaq	.LC0(%rip), %rbp
	testq	%r13, %r13
	je	.L97
	movq	16(%r13), %r14
	leaq	.LC0(%rip), %rbp
	testq	%r14, %r14
	je	.L99
	movq	16(%r14), %rdi
	leaq	.LC0(%rip), %rbp
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	cmpq	root(%rip), %r14
	je	.L141
.L99:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L134
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L142
.L102:
	cmpq	%rax, %r13
	je	.L143
.L97:
	movl	(%r12), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r12), %r13
	testq	%r13, %r13
	je	.L136
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L107
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	cmpq	root(%rip), %r14
	je	.L144
.L107:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L135
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L145
.L110:
	cmpq	%rax, %r13
	je	.L146
.L105:
	cmpq	%rax, %r12
	je	.L147
.L95:
	movl	(%rbx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%rbx), %r12
	testq	%r12, %r12
	je	.L140
	movq	16(%r12), %r13
	testq	%r13, %r13
	je	.L115
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L117
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	cmpq	root(%rip), %r14
	je	.L148
.L117:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L137
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L149
.L120:
	cmpq	%rax, %r13
	je	.L150
.L115:
	movl	(%r12), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r12), %r13
	testq	%r13, %r13
	je	.L139
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L125
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	cmpq	root(%rip), %r14
	je	.L151
.L125:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L138
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L152
.L128:
	cmpq	%r13, %rax
	je	.L153
.L123:
	cmpq	%rax, %r12
	jne	.L113
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L140:
	movq	root(%rip), %rax
.L113:
	cmpq	%rax, %rbx
	je	.L154
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%rbp
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L131:
	.cfi_restore 3
	.cfi_restore 6
	.cfi_restore 12
	.cfi_restore 13
	.cfi_restore 14
	ret
	.p2align 4,,10
	.p2align 3
.L153:
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	.cfi_offset 6, -40
	.cfi_offset 12, -32
	.cfi_offset 13, -24
	.cfi_offset 14, -16
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L139:
	movq	root(%rip), %rax
	jmp	.L123
	.p2align 4,,10
	.p2align 3
.L146:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L136:
	movq	root(%rip), %rax
	jmp	.L105
	.p2align 4,,10
	.p2align 3
.L154:
	popq	%rbx
	.cfi_remember_state
	.cfi_restore 3
	.cfi_def_cfa_offset 40
	movl	$10, %edi
	popq	%rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_restore 12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_restore 13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_restore 14
	.cfi_def_cfa_offset 8
	jmp	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L142:
	.cfi_restore_state
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L134:
	movq	root(%rip), %rax
	jmp	.L102
	.p2align 4,,10
	.p2align 3
.L152:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L138:
	movq	root(%rip), %rax
	jmp	.L128
	.p2align 4,,10
	.p2align 3
.L145:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L135:
	movq	root(%rip), %rax
	jmp	.L110
	.p2align 4,,10
	.p2align 3
.L149:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L137:
	movq	root(%rip), %rax
	jmp	.L120
	.p2align 4,,10
	.p2align 3
.L147:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L95
	.p2align 4,,10
	.p2align 3
.L150:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L115
	.p2align 4,,10
	.p2align 3
.L143:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L97
	.p2align 4,,10
	.p2align 3
.L144:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L107
	.p2align 4,,10
	.p2align 3
.L151:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L125
	.p2align 4,,10
	.p2align 3
.L148:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L117
	.p2align 4,,10
	.p2align 3
.L141:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L99
	.cfi_endproc
.LFE56:
	.size	inorderWalk, .-inorderWalk
	.section	.rodata.str1.1
.LC1:
	.string	"%d"
.LC2:
	.string	"%s"
.LC3:
	.string	"insert"
.LC4:
	.string	"find"
.LC5:
	.string	"yes"
.LC6:
	.string	"no"
.LC7:
	.string	"print"
.LC8:
	.string	"undefined operation"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB51:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC1(%rip), %rdi
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	xorl	%r12d, %r12d
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	leaq	.LC0(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$72, %rsp
	.cfi_def_cfa_offset 128
	movq	%fs:40, %rax
	movq	%rax, 56(%rsp)
	xorl	%eax, %eax
	leaq	36(%rsp), %rsi
	leaq	46(%rsp), %rbx
	movq	$0, root(%rip)
	call	__isoc99_scanf@PLT
	leaq	40(%rsp), %rax
	movq	%rax, (%rsp)
	movl	36(%rsp), %eax
	testl	%eax, %eax
	jle	.L324
	.p2align 4,,10
	.p2align 3
.L156:
	xorl	%eax, %eax
	movq	%rbx, %rsi
	leaq	.LC2(%rip), %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1702063721, (%rbx)
	je	.L360
.L157:
	cmpl	$1684957542, (%rbx)
	je	.L361
.L167:
	cmpl	$1852404336, (%rbx)
	je	.L362
.L176:
	leaq	.LC8(%rip), %rdi
	call	puts@PLT
	movl	$1, %edi
	call	exit@PLT
	.p2align 4,,10
	.p2align 3
.L360:
	cmpw	$29810, 4(%rbx)
	jne	.L157
	cmpb	$0, 6(%rbx)
	jne	.L157
	movq	(%rsp), %rsi
	leaq	.LC1(%rip), %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	$32, %edi
	movl	40(%rsp), %r13d
	call	malloc@PLT
	movq	root(%rip), %rdx
	pxor	%xmm0, %xmm0
	movl	%r13d, (%rax)
	movups	%xmm0, 16(%rax)
	testq	%rdx, %rdx
	jne	.L163
	jmp	.L363
	.p2align 4,,10
	.p2align 3
.L365:
	movq	16(%rdx), %rcx
	testq	%rcx, %rcx
	je	.L364
.L327:
	movq	%rcx, %rdx
.L163:
	movl	(%rdx), %esi
	cmpl	%esi, %r13d
	jl	.L365
	movq	24(%rdx), %rcx
	testq	%rcx, %rcx
	jne	.L327
.L364:
	movq	%rdx, 8(%rax)
	cmpl	%esi, %r13d
	jge	.L166
	movq	%rax, 16(%rdx)
	.p2align 4,,10
	.p2align 3
.L165:
	addl	$1, %r12d
	cmpl	%r12d, 36(%rsp)
	jg	.L156
.L324:
	movq	56(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L366
	addq	$72, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L361:
	.cfi_restore_state
	cmpb	$0, 4(%rbx)
	jne	.L167
	movq	(%rsp), %rsi
	leaq	.LC1(%rip), %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movq	root(%rip), %rax
	movl	40(%rsp), %edx
	testq	%rax, %rax
	jne	.L171
	jmp	.L170
	.p2align 4,,10
	.p2align 3
.L367:
	movq	24(%rax), %rax
	testq	%rax, %rax
	je	.L170
.L171:
	cmpl	(%rax), %edx
	jg	.L367
	je	.L174
	jge	.L175
	movq	16(%rax), %rax
	testq	%rax, %rax
	jne	.L171
.L170:
	leaq	.LC6(%rip), %rdi
	call	puts@PLT
	movl	$0, 20(%rsp)
	jmp	.L165
	.p2align 4,,10
	.p2align 3
.L362:
	cmpw	$116, 4(%rbx)
	jne	.L176
	movq	root(%rip), %r14
	testq	%r14, %r14
	je	.L165
	movq	16(%r14), %r13
	testq	%r13, %r13
	je	.L180
	movq	16(%r13), %r15
	testq	%r15, %r15
	je	.L182
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L184
	movq	16(%rcx), %rdi
	movq	%rcx, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %rcx
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%rcx), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L186
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L368
.L186:
	cmpq	root(%rip), %rcx
	je	.L369
.L184:
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L190
	movq	16(%rcx), %rdi
	movq	%rcx, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %rcx
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%rcx), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L192
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L370
.L192:
	cmpq	root(%rip), %rcx
	je	.L371
.L190:
	cmpq	root(%rip), %r15
	je	.L372
.L182:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %r15
	testq	%r15, %r15
	je	.L354
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L199
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L201
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L373
.L201:
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %rdi
	call	inorderWalk
	movq	8(%rsp), %rcx
	cmpq	root(%rip), %rcx
	je	.L374
.L199:
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L205
	movq	16(%rcx), %rdi
	movq	%rcx, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %rcx
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%rcx), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L207
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L375
.L207:
	cmpq	root(%rip), %rcx
	je	.L376
.L205:
	movq	root(%rip), %rax
	cmpq	%rax, %r15
	je	.L377
	cmpq	%r13, %rax
	je	.L378
	.p2align 4,,10
	.p2align 3
.L180:
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %r15
	testq	%r15, %r15
	je	.L356
	movq	16(%r15), %r13
	testq	%r13, %r13
	je	.L214
	movq	16(%r13), %rcx
	testq	%rcx, %rcx
	je	.L216
	movq	16(%rcx), %rdi
	movq	%rcx, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %rcx
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%rcx), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L218
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L379
.L218:
	cmpq	root(%rip), %rcx
	je	.L380
.L216:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %rcx
	testq	%rcx, %rcx
	je	.L222
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L224
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L381
.L224:
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %rdi
	call	inorderWalk
	movq	8(%rsp), %rcx
	cmpq	root(%rip), %rcx
	je	.L382
.L222:
	cmpq	root(%rip), %r13
	je	.L383
.L214:
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L355
	movq	16(%rcx), %r13
	testq	%r13, %r13
	je	.L231
	movq	16(%r13), %r8
	testq	%r8, %r8
	je	.L233
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L384
.L233:
	movl	0(%r13), %edx
	xorl	%eax, %eax
	movq	%rbp, %rsi
	movl	$1, %edi
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	24(%r13), %r8
	movq	8(%rsp), %rcx
	testq	%r8, %r8
	je	.L236
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L385
.L236:
	cmpq	root(%rip), %r13
	je	.L386
.L231:
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r13
	testq	%r13, %r13
	je	.L240
	movq	16(%r13), %r8
	testq	%r8, %r8
	je	.L242
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L387
.L242:
	movl	0(%r13), %edx
	xorl	%eax, %eax
	movq	%rbp, %rsi
	movl	$1, %edi
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	24(%r13), %r8
	movq	8(%rsp), %rcx
	testq	%r8, %r8
	je	.L245
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L388
.L245:
	cmpq	root(%rip), %r13
	je	.L389
.L240:
	movq	root(%rip), %r13
	cmpq	%r13, %rcx
	je	.L390
.L229:
	cmpq	%r13, %r15
	je	.L391
	cmpq	%r13, %r14
	je	.L392
.L248:
	testq	%r13, %r13
	je	.L165
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L250
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %r15
	testq	%r15, %r15
	je	.L252
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L254
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L256
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L393
.L256:
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L259
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L394
.L259:
	cmpq	root(%rip), %rcx
	je	.L395
.L254:
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L263
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %rdi
	call	preorderWalk
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L265
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L396
.L265:
	cmpq	root(%rip), %rcx
	je	.L397
.L263:
	cmpq	root(%rip), %r15
	je	.L398
.L252:
	movq	24(%r14), %r15
	testq	%r15, %r15
	je	.L357
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L272
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %rdi
	call	preorderWalk
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L274
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L399
.L274:
	cmpq	root(%rip), %rcx
	je	.L400
.L272:
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L278
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %rdi
	call	preorderWalk
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L280
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L401
.L280:
	cmpq	root(%rip), %rcx
	je	.L402
.L278:
	movq	root(%rip), %rax
	cmpq	%rax, %r15
	je	.L403
	cmpq	%rax, %r14
	je	.L404
	.p2align 4,,10
	.p2align 3
.L250:
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L359
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %r15
	testq	%r15, %r15
	je	.L287
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L289
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L291
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L405
.L291:
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L294
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L406
.L294:
	cmpq	root(%rip), %rcx
	je	.L407
.L289:
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L298
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L300
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L408
.L300:
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L303
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L409
.L303:
	cmpq	root(%rip), %rcx
	je	.L410
.L298:
	cmpq	root(%rip), %r15
	je	.L411
.L287:
	movq	24(%r14), %r15
	testq	%r15, %r15
	je	.L358
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L310
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L312
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L412
.L312:
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L315
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L413
.L315:
	cmpq	root(%rip), %rcx
	je	.L414
.L310:
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L319
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %rdi
	call	preorderWalk
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L321
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L415
.L321:
	cmpq	root(%rip), %rcx
	je	.L416
.L319:
	movq	root(%rip), %rax
	cmpq	%rax, %r15
	je	.L417
.L308:
	cmpq	%rax, %r14
	je	.L418
.L285:
	cmpq	%r13, %rax
	jne	.L165
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L165
.L418:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L359:
	movq	root(%rip), %rax
	jmp	.L285
.L391:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L356:
	movq	root(%rip), %r13
	cmpq	%r13, %r14
	jne	.L248
.L392:
	movl	$10, %edi
	call	putchar@PLT
	movq	root(%rip), %r13
	jmp	.L248
	.p2align 4,,10
	.p2align 3
.L166:
	movq	%rax, 24(%rdx)
	jmp	.L165
.L363:
	movq	$0, 8(%rax)
	movq	%rax, root(%rip)
	jmp	.L165
.L377:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L354:
	movq	root(%rip), %rax
	cmpq	%r13, %rax
	jne	.L180
.L378:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L180
.L417:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L358:
	movq	root(%rip), %rax
	jmp	.L308
.L403:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L357:
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	jne	.L250
.L404:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L250
.L390:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L355:
	movq	root(%rip), %r13
	jmp	.L229
.L175:
	cmpl	$1, 20(%rsp)
	jne	.L170
.L174:
	leaq	.LC5(%rip), %rdi
	call	puts@PLT
	movl	$1, 20(%rsp)
	jmp	.L165
.L372:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L182
.L398:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L252
.L383:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L214
.L411:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L287
.L368:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L186
.L370:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L192
.L373:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L201
.L375:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L207
.L379:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L218
.L381:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L224
.L384:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L233
.L385:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L236
.L387:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L242
.L388:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L245
.L393:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L256
.L394:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L259
.L396:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L265
.L399:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L274
.L401:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L280
.L405:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L291
.L406:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L294
.L408:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L300
.L409:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L303
.L412:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L312
.L413:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L315
.L415:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L321
.L397:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L263
.L371:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L190
.L374:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L199
.L376:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L205
.L380:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L216
.L382:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L222
.L369:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L184
.L400:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L272
.L395:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L254
.L402:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L278
.L389:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L240
.L407:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L289
.L414:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L310
.L386:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L231
.L416:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L319
.L410:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L298
.L366:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE51:
	.size	main, .-main
	.globl	root
	.bss
	.align 8
	.type	root, @object
	.size	root, 8
root:
	.zero	8
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

rule
	.file	"temp.c"
	.text
	.p2align 4
	.globl	make1node
	.type	make1node, @function
make1node:
.LFB52:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movl	%edi, %ebx
	movl	$32, %edi
	call	malloc@PLT
	pxor	%xmm0, %xmm0
	movl	%ebx, (%rax)
	movq	$0, 24(%rax)
	movups	%xmm0, 8(%rax)
	popq	%rbx
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE52:
	.size	make1node, .-make1node
	.p2align 4
	.globl	insert
	.type	insert, @function
insert:
.LFB53:
	.cfi_startproc
	endbr64
	movq	root(%rip), %rax
	testq	%rax, %rax
	je	.L5
	movl	(%rdi), %esi
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L15:
	movq	16(%rax), %rdx
	testq	%rdx, %rdx
	je	.L14
.L12:
	movq	%rdx, %rax
.L8:
	movl	(%rax), %ecx
	cmpl	%ecx, %esi
	jl	.L15
	movq	24(%rax), %rdx
	testq	%rdx, %rdx
	jne	.L12
.L14:
	movq	%rax, 8(%rdi)
	cmpl	%ecx, %esi
	jge	.L11
	movq	%rdi, 16(%rax)
	ret
	.p2align 4,,10
	.p2align 3
.L11:
	movq	%rdi, 24(%rax)
	ret
	.p2align 4,,10
	.p2align 3
.L5:
	movq	$0, 8(%rdi)
	movq	%rdi, root(%rip)
	ret
	.cfi_endproc
.LFE53:
	.size	insert, .-insert
	.p2align 4
	.globl	find
	.type	find, @function
find:
.LFB54:
	.cfi_startproc
	endbr64
	.p2align 4,,10
	.p2align 3
.L20:
	testq	%rdi, %rdi
	je	.L23
	cmpl	%esi, (%rdi)
	jl	.L26
	je	.L24
	jle	.L21
	movq	16(%rdi), %rdi
	jmp	.L20
	.p2align 4,,10
	.p2align 3
.L26:
	movq	24(%rdi), %rdi
	jmp	.L20
	.p2align 4,,10
	.p2align 3
.L23:
	xorl	%eax, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L24:
	movl	$1, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L21:
	ret
	.cfi_endproc
.LFE54:
	.size	find, .-find
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	" %d"
	.text
	.p2align 4
	.globl	preorderWalk
	.type	preorderWalk, @function
preorderWalk:
.LFB55:
	.cfi_startproc
	endbr64
	testq	%rdi, %rdi
	je	.L67
	pushq	%r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	xorl	%eax, %eax
	pushq	%r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	pushq	%r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	pushq	%rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	leaq	.LC0(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	movl	(%rdi), %edx
	movq	%rdi, %rbx
	movq	%rbp, %rsi
	movl	$1, %edi
	call	__printf_chk@PLT
	movq	16(%rbx), %r12
	testq	%r12, %r12
	je	.L31
	movl	(%r12), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r12), %r13
	testq	%r13, %r13
	je	.L33
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L35
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	cmpq	root(%rip), %r14
	je	.L77
.L35:
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L70
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L78
.L38:
	cmpq	%rax, %r13
	je	.L79
.L33:
	movq	24(%r12), %r13
	testq	%r13, %r13
	je	.L72
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L43
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	cmpq	root(%rip), %r14
	je	.L80
.L43:
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L71
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L81
.L46:
	cmpq	%rax, %r13
	je	.L82
.L41:
	cmpq	%rax, %r12
	je	.L83
.L31:
	movq	24(%rbx), %r12
	testq	%r12, %r12
	je	.L76
	movl	(%r12), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r12), %r13
	testq	%r13, %r13
	je	.L51
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L53
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	cmpq	root(%rip), %r14
	je	.L84
.L53:
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L73
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L85
.L56:
	cmpq	%rax, %r13
	je	.L86
.L51:
	movq	24(%r12), %r13
	testq	%r13, %r13
	je	.L75
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L61
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	cmpq	root(%rip), %r14
	je	.L87
.L61:
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L74
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %rdi
	call	preorderWalk
	movq	24(%r14), %rdi
	call	preorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L88
.L64:
	cmpq	%rax, %r13
	je	.L89
.L59:
	cmpq	%rax, %r12
	jne	.L49
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L76:
	movq	root(%rip), %rax
.L49:
	cmpq	%rax, %rbx
	je	.L90
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%rbp
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L67:
	.cfi_restore 3
	.cfi_restore 6
	.cfi_restore 12
	.cfi_restore 13
	.cfi_restore 14
	ret
	.p2align 4,,10
	.p2align 3
.L89:
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	.cfi_offset 6, -40
	.cfi_offset 12, -32
	.cfi_offset 13, -24
	.cfi_offset 14, -16
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L75:
	movq	root(%rip), %rax
	jmp	.L59
	.p2align 4,,10
	.p2align 3
.L82:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L72:
	movq	root(%rip), %rax
	jmp	.L41
	.p2align 4,,10
	.p2align 3
.L90:
	popq	%rbx
	.cfi_remember_state
	.cfi_restore 3
	.cfi_def_cfa_offset 40
	movl	$10, %edi
	popq	%rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_restore 12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_restore 13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_restore 14
	.cfi_def_cfa_offset 8
	jmp	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L78:
	.cfi_restore_state
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L70:
	movq	root(%rip), %rax
	jmp	.L38
	.p2align 4,,10
	.p2align 3
.L88:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L74:
	movq	root(%rip), %rax
	jmp	.L64
	.p2align 4,,10
	.p2align 3
.L81:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L71:
	movq	root(%rip), %rax
	jmp	.L46
	.p2align 4,,10
	.p2align 3
.L85:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L73:
	movq	root(%rip), %rax
	jmp	.L56
	.p2align 4,,10
	.p2align 3
.L83:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L86:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L51
	.p2align 4,,10
	.p2align 3
.L79:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L33
	.p2align 4,,10
	.p2align 3
.L80:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L43
	.p2align 4,,10
	.p2align 3
.L87:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L61
	.p2align 4,,10
	.p2align 3
.L84:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L53
	.p2align 4,,10
	.p2align 3
.L77:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L35
	.cfi_endproc
.LFE55:
	.size	preorderWalk, .-preorderWalk
	.p2align 4
	.globl	inorderWalk
	.type	inorderWalk, @function
inorderWalk:
.LFB56:
	.cfi_startproc
	endbr64
	testq	%rdi, %rdi
	je	.L131
	pushq	%r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	pushq	%r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	pushq	%r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	pushq	%rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	leaq	.LC0(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	movq	16(%rdi), %r12
	movq	%rdi, %rbx
	testq	%r12, %r12
	je	.L95
	movq	16(%r12), %r13
	leaq	.LC0(%rip), %rbp
	testq	%r13, %r13
	je	.L97
	movq	16(%r13), %r14
	leaq	.LC0(%rip), %rbp
	testq	%r14, %r14
	je	.L99
	movq	16(%r14), %rdi
	leaq	.LC0(%rip), %rbp
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	cmpq	root(%rip), %r14
	je	.L141
.L99:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L134
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L142
.L102:
	cmpq	%rax, %r13
	je	.L143
.L97:
	movl	(%r12), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r12), %r13
	testq	%r13, %r13
	je	.L136
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L107
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	cmpq	root(%rip), %r14
	je	.L144
.L107:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L135
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L145
.L110:
	cmpq	%rax, %r13
	je	.L146
.L105:
	cmpq	%rax, %r12
	je	.L147
.L95:
	movl	(%rbx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%rbx), %r12
	testq	%r12, %r12
	je	.L140
	movq	16(%r12), %r13
	testq	%r13, %r13
	je	.L115
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L117
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	cmpq	root(%rip), %r14
	je	.L148
.L117:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L137
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L149
.L120:
	cmpq	%rax, %r13
	je	.L150
.L115:
	movl	(%r12), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r12), %r13
	testq	%r13, %r13
	je	.L139
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L125
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	cmpq	root(%rip), %r14
	je	.L151
.L125:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L138
	movq	16(%r14), %rdi
	call	inorderWalk
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	je	.L152
.L128:
	cmpq	%r13, %rax
	je	.L153
.L123:
	cmpq	%rax, %r12
	jne	.L113
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L140:
	movq	root(%rip), %rax
.L113:
	cmpq	%rax, %rbx
	je	.L154
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%rbp
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L131:
	.cfi_restore 3
	.cfi_restore 6
	.cfi_restore 12
	.cfi_restore 13
	.cfi_restore 14
	ret
	.p2align 4,,10
	.p2align 3
.L153:
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	.cfi_offset 6, -40
	.cfi_offset 12, -32
	.cfi_offset 13, -24
	.cfi_offset 14, -16
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L139:
	movq	root(%rip), %rax
	jmp	.L123
	.p2align 4,,10
	.p2align 3
.L146:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L136:
	movq	root(%rip), %rax
	jmp	.L105
	.p2align 4,,10
	.p2align 3
.L154:
	popq	%rbx
	.cfi_remember_state
	.cfi_restore 3
	.cfi_def_cfa_offset 40
	movl	$10, %edi
	popq	%rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_restore 12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_restore 13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_restore 14
	.cfi_def_cfa_offset 8
	jmp	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L142:
	.cfi_restore_state
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L134:
	movq	root(%rip), %rax
	jmp	.L102
	.p2align 4,,10
	.p2align 3
.L152:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L138:
	movq	root(%rip), %rax
	jmp	.L128
	.p2align 4,,10
	.p2align 3
.L145:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L135:
	movq	root(%rip), %rax
	jmp	.L110
	.p2align 4,,10
	.p2align 3
.L149:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L137:
	movq	root(%rip), %rax
	jmp	.L120
	.p2align 4,,10
	.p2align 3
.L147:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L95
	.p2align 4,,10
	.p2align 3
.L150:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L115
	.p2align 4,,10
	.p2align 3
.L143:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L97
	.p2align 4,,10
	.p2align 3
.L144:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L107
	.p2align 4,,10
	.p2align 3
.L151:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L125
	.p2align 4,,10
	.p2align 3
.L148:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L117
	.p2align 4,,10
	.p2align 3
.L141:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L99
	.cfi_endproc
.LFE56:
	.size	inorderWalk, .-inorderWalk
	.section	.rodata.str1.1
.LC1:
	.string	"%d"
.LC2:
	.string	"%s"
.LC3:
	.string	"insert"
.LC4:
	.string	"find"
.LC5:
	.string	"yes"
.LC6:
	.string	"no"
.LC7:
	.string	"print"
.LC8:
	.string	"undefined operation"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB51:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC1(%rip), %rdi
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	xorl	%r12d, %r12d
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	leaq	.LC0(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$72, %rsp
	.cfi_def_cfa_offset 128
	movq	%fs:40, %rax
	movq	%rax, 56(%rsp)
	xorl	%eax, %eax
	leaq	36(%rsp), %rsi
	leaq	46(%rsp), %rbx
	movq	$0, root(%rip)
	call	__isoc99_scanf@PLT
	leaq	40(%rsp), %rax
	movq	%rax, (%rsp)
	movl	36(%rsp), %eax
	testl	%eax, %eax
	jle	.L324
	.p2align 4,,10
	.p2align 3
.L156:
	xorl	%eax, %eax
	movq	%rbx, %rsi
	leaq	.LC2(%rip), %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1702063721, (%rbx)
	je	.L360
.L157:
	cmpl	$1684957542, (%rbx)
	je	.L361
.L167:
	cmpl	$1852404336, (%rbx)
	je	.L362
.L176:
	leaq	.LC8(%rip), %rdi
	call	puts@PLT
	movl	$1, %edi
	call	exit@PLT
	.p2align 4,,10
	.p2align 3
.L360:
	cmpw	$29810, 4(%rbx)
	jne	.L157
	cmpb	$0, 6(%rbx)
	jne	.L157
	movq	(%rsp), %rsi
	leaq	.LC1(%rip), %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	$32, %edi
	movl	40(%rsp), %r13d
	call	malloc@PLT
	movq	root(%rip), %rdx
	pxor	%xmm0, %xmm0
	movl	%r13d, (%rax)
	movups	%xmm0, 16(%rax)
	testq	%rdx, %rdx
	jne	.L163
	jmp	.L363
	.p2align 4,,10
	.p2align 3
.L365:
	movq	16(%rdx), %rcx
	testq	%rcx, %rcx
	je	.L364
.L327:
	movq	%rcx, %rdx
.L163:
	movl	(%rdx), %esi
	cmpl	%esi, %r13d
	jl	.L365
	movq	24(%rdx), %rcx
	testq	%rcx, %rcx
	jne	.L327
.L364:
	movq	%rdx, 8(%rax)
	cmpl	%esi, %r13d
	jge	.L166
	movq	%rax, 16(%rdx)
	.p2align 4,,10
	.p2align 3
.L165:
	addl	$1, %r12d
	cmpl	%r12d, 36(%rsp)
	jg	.L156
.L324:
	movq	56(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L366
	addq	$72, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L361:
	.cfi_restore_state
	cmpb	$0, 4(%rbx)
	jne	.L167
	movq	(%rsp), %rsi
	leaq	.LC1(%rip), %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movq	root(%rip), %rax
	movl	40(%rsp), %edx
	testq	%rax, %rax
	jne	.L171
	jmp	.L170
	.p2align 4,,10
	.p2align 3
.L367:
	movq	24(%rax), %rax
	testq	%rax, %rax
	je	.L170
.L171:
	cmpl	(%rax), %edx
	jg	.L367
	je	.L174
	jge	.L175
	movq	16(%rax), %rax
	testq	%rax, %rax
	jne	.L171
.L170:
	leaq	.LC6(%rip), %rdi
	call	puts@PLT
	movl	$0, 20(%rsp)
	jmp	.L165
	.p2align 4,,10
	.p2align 3
.L362:
	cmpw	$116, 4(%rbx)
	jne	.L176
	movq	root(%rip), %r14
	testq	%r14, %r14
	je	.L165
	movq	16(%r14), %r13
	testq	%r13, %r13
	je	.L180
	movq	16(%r13), %r15
	testq	%r15, %r15
	je	.L182
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L184
	movq	16(%rcx), %rdi
	movq	%rcx, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %rcx
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%rcx), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L186
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L368
.L186:
	cmpq	root(%rip), %rcx
	je	.L369
.L184:
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L190
	movq	16(%rcx), %rdi
	movq	%rcx, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %rcx
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%rcx), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L192
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L370
.L192:
	cmpq	root(%rip), %rcx
	je	.L371
.L190:
	cmpq	root(%rip), %r15
	je	.L372
.L182:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %r15
	testq	%r15, %r15
	je	.L354
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L199
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L201
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L373
.L201:
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %rdi
	call	inorderWalk
	movq	8(%rsp), %rcx
	cmpq	root(%rip), %rcx
	je	.L374
.L199:
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L205
	movq	16(%rcx), %rdi
	movq	%rcx, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %rcx
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%rcx), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L207
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L375
.L207:
	cmpq	root(%rip), %rcx
	je	.L376
.L205:
	movq	root(%rip), %rax
	cmpq	%rax, %r15
	je	.L377
	cmpq	%r13, %rax
	je	.L378
	.p2align 4,,10
	.p2align 3
.L180:
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r14), %r15
	testq	%r15, %r15
	je	.L356
	movq	16(%r15), %r13
	testq	%r13, %r13
	je	.L214
	movq	16(%r13), %rcx
	testq	%rcx, %rcx
	je	.L216
	movq	16(%rcx), %rdi
	movq	%rcx, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %rcx
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%rcx), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L218
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L379
.L218:
	cmpq	root(%rip), %rcx
	je	.L380
.L216:
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r13), %rcx
	testq	%rcx, %rcx
	je	.L222
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L224
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L381
.L224:
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %rdi
	call	inorderWalk
	movq	8(%rsp), %rcx
	cmpq	root(%rip), %rcx
	je	.L382
.L222:
	cmpq	root(%rip), %r13
	je	.L383
.L214:
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L355
	movq	16(%rcx), %r13
	testq	%r13, %r13
	je	.L231
	movq	16(%r13), %r8
	testq	%r8, %r8
	je	.L233
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L384
.L233:
	movl	0(%r13), %edx
	xorl	%eax, %eax
	movq	%rbp, %rsi
	movl	$1, %edi
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	24(%r13), %r8
	movq	8(%rsp), %rcx
	testq	%r8, %r8
	je	.L236
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L385
.L236:
	cmpq	root(%rip), %r13
	je	.L386
.L231:
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r13
	testq	%r13, %r13
	je	.L240
	movq	16(%r13), %r8
	testq	%r8, %r8
	je	.L242
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L387
.L242:
	movl	0(%r13), %edx
	xorl	%eax, %eax
	movq	%rbp, %rsi
	movl	$1, %edi
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	24(%r13), %r8
	movq	8(%rsp), %rcx
	testq	%r8, %r8
	je	.L245
	movq	16(%r8), %rdi
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	%rbp, %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	movl	(%r8), %edx
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	inorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L388
.L245:
	cmpq	root(%rip), %r13
	je	.L389
.L240:
	movq	root(%rip), %r13
	cmpq	%r13, %rcx
	je	.L390
.L229:
	cmpq	%r13, %r15
	je	.L391
	cmpq	%r13, %r14
	je	.L392
.L248:
	testq	%r13, %r13
	je	.L165
	movl	0(%r13), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r13), %r14
	testq	%r14, %r14
	je	.L250
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %r15
	testq	%r15, %r15
	je	.L252
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L254
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L256
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L393
.L256:
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L259
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L394
.L259:
	cmpq	root(%rip), %rcx
	je	.L395
.L254:
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L263
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %rdi
	call	preorderWalk
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L265
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L396
.L265:
	cmpq	root(%rip), %rcx
	je	.L397
.L263:
	cmpq	root(%rip), %r15
	je	.L398
.L252:
	movq	24(%r14), %r15
	testq	%r15, %r15
	je	.L357
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L272
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %rdi
	call	preorderWalk
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L274
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L399
.L274:
	cmpq	root(%rip), %rcx
	je	.L400
.L272:
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L278
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %rdi
	call	preorderWalk
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L280
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L401
.L280:
	cmpq	root(%rip), %rcx
	je	.L402
.L278:
	movq	root(%rip), %rax
	cmpq	%rax, %r15
	je	.L403
	cmpq	%rax, %r14
	je	.L404
	.p2align 4,,10
	.p2align 3
.L250:
	movq	24(%r13), %r14
	testq	%r14, %r14
	je	.L359
	movl	(%r14), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r14), %r15
	testq	%r15, %r15
	je	.L287
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L289
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L291
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L405
.L291:
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L294
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L406
.L294:
	cmpq	root(%rip), %rcx
	je	.L407
.L289:
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L298
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L300
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L408
.L300:
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L303
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L409
.L303:
	cmpq	root(%rip), %rcx
	je	.L410
.L298:
	cmpq	root(%rip), %r15
	je	.L411
.L287:
	movq	24(%r14), %r15
	testq	%r15, %r15
	je	.L358
	movl	(%r15), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	16(%r15), %rcx
	testq	%rcx, %rcx
	je	.L310
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %r8
	testq	%r8, %r8
	je	.L312
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L412
.L312:
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L315
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L413
.L315:
	cmpq	root(%rip), %rcx
	je	.L414
.L310:
	movq	24(%r15), %rcx
	testq	%rcx, %rcx
	je	.L319
	movl	(%rcx), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %rcx
	movq	16(%rcx), %rdi
	call	preorderWalk
	movq	8(%rsp), %rcx
	movq	24(%rcx), %r8
	testq	%r8, %r8
	je	.L321
	movl	(%r8), %edx
	movq	%rbp, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	movq	%rcx, 24(%rsp)
	movq	%r8, 8(%rsp)
	call	__printf_chk@PLT
	movq	8(%rsp), %r8
	movq	16(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%r8), %rdi
	call	preorderWalk
	movq	8(%rsp), %r8
	movq	24(%rsp), %rcx
	cmpq	root(%rip), %r8
	je	.L415
.L321:
	cmpq	root(%rip), %rcx
	je	.L416
.L319:
	movq	root(%rip), %rax
	cmpq	%rax, %r15
	je	.L417
.L308:
	cmpq	%rax, %r14
	je	.L418
.L285:
	cmpq	%r13, %rax
	jne	.L165
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L165
.L418:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L359:
	movq	root(%rip), %rax
	jmp	.L285
.L391:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L356:
	movq	root(%rip), %r13
	cmpq	%r13, %r14
	jne	.L248
.L392:
	movl	$10, %edi
	call	putchar@PLT
	movq	root(%rip), %r13
	jmp	.L248
	.p2align 4,,10
	.p2align 3
.L166:
	movq	%rax, 24(%rdx)
	jmp	.L165
.L363:
	movq	$0, 8(%rax)
	movq	%rax, root(%rip)
	jmp	.L165
.L377:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L354:
	movq	root(%rip), %rax
	cmpq	%r13, %rax
	jne	.L180
.L378:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L180
.L417:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L358:
	movq	root(%rip), %rax
	jmp	.L308
.L403:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L357:
	movq	root(%rip), %rax
	cmpq	%rax, %r14
	jne	.L250
.L404:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L250
.L390:
	movl	$10, %edi
	call	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L355:
	movq	root(%rip), %r13
	jmp	.L229
.L175:
	cmpl	$1, 20(%rsp)
	jne	.L170
.L174:
	leaq	.LC5(%rip), %rdi
	call	puts@PLT
	movl	$1, 20(%rsp)
	jmp	.L165
.L372:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L182
.L398:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L252
.L383:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L214
.L411:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L287
.L368:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L186
.L370:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L192
.L373:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L201
.L375:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L207
.L379:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L218
.L381:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L224
.L384:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L233
.L385:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L236
.L387:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L242
.L388:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L245
.L393:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L256
.L394:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L259
.L396:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L265
.L399:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L274
.L401:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L280
.L405:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L291
.L406:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L294
.L408:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L300
.L409:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L303
.L412:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L312
.L413:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L315
.L415:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L321
.L397:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L263
.L371:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L190
.L374:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L199
.L376:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L205
.L380:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L216
.L382:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L222
.L369:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L184
.L400:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L272
.L395:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L254
.L402:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L278
.L389:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L240
.L407:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L289
.L414:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L310
.L386:
	movl	$10, %edi
	movq	%rcx, 8(%rsp)
	call	putchar@PLT
	movq	8(%rsp), %rcx
	jmp	.L231
.L416:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L319
.L410:
	movl	$10, %edi
	call	putchar@PLT
	jmp	.L298
.L366:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE51:
	.size	main, .-main
	.globl	root
	.bss
	.align 8
	.type	root, @object
	.size	root, 8
root:
	.zero	8
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node
{
  int id;
  struct node *parent;
  struct node *child[2];
} *nodePointer;
nodePointer root;
nodePointer make1node(int);
void insert(nodePointer);
int find(nodePointer,int);
void preorderWalk(nodePointer);
void inorderWalk(nodePointer);
int main(void)
{
  int i;//counter
  int n;//the number of operation
  char op[10];//operation
  int id;//inserted or found number
  nodePointer p;
  root=NULL;
  scanf("%d",&n);
  for(i=0;i<n;i++)
    {
      scanf("%s",op);
      if(strcmp(op,"insert")==0)
	{
	  scanf("%d",&id);
	  p=make1node(id);
	  insert(p);
	}
      else if(strcmp(op,"find")==0)
	{
	  scanf("%d",&id);
	  if(find(root,id)==1) printf("yes\n");
	  else printf("no\n");
	}
      else if(strcmp(op,"print")==0)
	{
	  inorderWalk(root);
	  preorderWalk(root);
	}
      else
	{
	  printf("undefined operation\n");
	  exit(1);
	}
    }
  return 0;
}
nodePointer make1node(int id)
{
  nodePointer p;
  p=(nodePointer)malloc(sizeof(struct node));
  p->id=id;
  p->parent=NULL;
  p->child[0]=NULL;
  p->child[1]=NULL;
  return p;
}
void insert(nodePointer p)
{
  nodePointer parent=NULL;//parent of p
  nodePointer temp=root;
  while(temp!=NULL)
    {
      parent=temp;
      if(p->id < temp->id) temp=temp->child[0];
      else temp=temp->child[1];
    }
  p->parent=parent;
  if(parent==NULL) root=p;
  else if(p->id < parent->id) parent->child[0]=p;
  else parent->child[1]=p;
}
int find(nodePointer p,int id)
{
  if(p==NULL) return 0;
  if(p->id < id) return find(p->child[1],id);
  if(p->id == id) return 1;
  if(p->id > id) return find(p->child[0],id);
}
void preorderWalk(nodePointer p)
{
  if(p!=NULL)
    {
      printf(" %d",p->id);
      preorderWalk(p->child[0]);
      preorderWalk(p->child[1]);
      if(p==root)
	{
	  printf("\n");
	}
    }
}
void inorderWalk(nodePointer p)
{
  if(p!=NULL)
    {
      inorderWalk(p->child[0]);
      printf(" %d",p->id);
      inorderWalk(p->child[1]);
      if(p==root)
	{
	  printf("\n");
	}
    }
}



10
insert 30
insert 88
insert 12
insert 1
insert 29
find 12
insert 17
insert 25
find 16
print
 10
insert 30
insert 88
insert 12
insert 2
insert 20
find 12
insert 17
insert 25
find 16
print
 10
insert 30
insert 88
insert 12
insert 1
insert 29
find 15
insert 17
insert 25
find 16
print
 10
insert 30
insert 88
insert 12
insert 1
insert 20
find 13
insert 17
insert 25
find 16
print
 10
insert 30
insert 88
insert 19
insert 1
insert 20
find 13
insert 17
insert 25
find 16
print
 10
insert 30
insert 88
insert 12
insert 0
insert 29
find 12
insert 17
insert 25
find 16
print
 10
insert 30
insert 88
insert 12
insert 2
insert 20
find 12
insert 1
insert 25
find 16
print
 10
insert 30
insert 88
insert 19
insert 1
insert 20
find 13
insert 17
insert 25
find 25
print
 10
insert 30
insert 88
insert 7
insert 0
insert 29
find 12
insert 17
insert 25
find 16
print
 10
insert 35
insert 88
insert 12
insert 2
insert 20
find 12
insert 17
insert 25
find 16
print

yes
no
 1 12 17 25 29 30 88
 30 12 1 29 17 25 88
 yes
no
 2 12 17 20 25 30 88
 30 12 2 20 17 25 88
 no
no
 1 12 17 25 29 30 88
 30 12 1 29 17 25 88
 no
no
 1 12 17 20 25 30 88
 30 12 1 20 17 25 88
 no
no
 1 17 19 20 25 30 88
 30 19 1 17 20 25 88
 yes
no
 0 12 17 25 29 30 88
 30 12 0 29 17 25 88
 yes
no
 1 2 12 20 25 30 88
 30 12 2 1 20 25 88
 no
yes
 1 17 19 20 25 30 88
 30 19 1 17 20 25 88
 no
no
 0 7 17 25 29 30 88
 30 7 0 29 17 25 88
 yes
no
 2 12 17 20 25 35 88
 35 12 2 20 17 25 88

Given the following C code and unoptimized assembly code, your task is to generate highly optimized x86-64 assembly code.
C Code:

```c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node
{
  int id;
  struct node *parent;
  struct node *child[2];
} *nodePointer;
nodePointer root;
nodePointer make1node(int);
void insert(nodePointer);
int find(nodePointer,int);
void preorderWalk(nodePointer);
void inorderWalk(nodePointer);
int main(void)
{
  int i;//counter
  int n;//the number of operation
  char op[10];//operation
  int id;//inserted or found number
  nodePointer p;
  root=NULL;
  scanf("%d",&n);
  for(i=0;i<n;i++)
    {
      scanf("%s",op);
      if(strcmp(op,"insert")==0)
	{
	  scanf("%d",&id);
	  p=make1node(id);
	  insert(p);
	}
      else if(strcmp(op,"find")==0)
	{
	  scanf("%d",&id);
	  if(find(root,id)==1) printf("yes\n");
	  else printf("no\n");
	}
      else if(strcmp(op,"print")==0)
	{
	  inorderWalk(root);
	  preorderWalk(root);
	}
      else
	{
	  printf("undefined operation\n");
	  exit(1);
	}
    }
  return 0;
}
nodePointer make1node(int id)
{
  nodePointer p;
  p=(nodePointer)malloc(sizeof(struct node));
  p->id=id;
  p->parent=NULL;
  p->child[0]=NULL;
  p->child[1]=NULL;
  return p;
}
void insert(nodePointer p)
{
  nodePointer parent=NULL;//parent of p
  nodePointer temp=root;
  while(temp!=NULL)
    {
      parent=temp;
      if(p->id < temp->id) temp=temp->child[0];
      else temp=temp->child[1];
    }
  p->parent=parent;
  if(parent==NULL) root=p;
  else if(p->id < parent->id) parent->child[0]=p;
  else parent->child[1]=p;
}
int find(nodePointer p,int id)
{
  if(p==NULL) return 0;
  if(p->id < id) return find(p->child[1],id);
  if(p->id == id) return 1;
  if(p->id > id) return find(p->child[0],id);
}
void preorderWalk(nodePointer p)
{
  if(p!=NULL)
    {
      printf(" %d",p->id);
      preorderWalk(p->child[0]);
      preorderWalk(p->child[1]);
      if(p==root)
	{
	  printf("\n");
	}
    }
}
void inorderWalk(nodePointer p)
{
  if(p!=NULL)
    {
      inorderWalk(p->child[0]);
      printf(" %d",p->id);
      inorderWalk(p->child[1]);
      if(p==root)
	{
	  printf("\n");
	}
    }
}


```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	root
	.bss
	.align 8
	.type	root, @object
	.size	root, 8
root:
	.zero	8
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%s"
.LC2:
	.string	"insert"
.LC3:
	.string	"find"
.LC4:
	.string	"yes"
.LC5:
	.string	"no"
.LC6:
	.string	"print"
.LC7:
	.string	"undefined operation"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movq	$0, root(%rip)
	leaq	-44(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -36(%rbp)
	jmp	.L2
.L8:
	leaq	-18(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	leaq	-18(%rbp), %rax
	leaq	.LC2(%rip), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcmp@PLT
	testl	%eax, %eax
	jne	.L3
	leaq	-40(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-40(%rbp), %eax
	movl	%eax, %edi
	call	make1node
	movq	%rax, -32(%rbp)
	movq	-32(%rbp), %rax
	movq	%rax, %rdi
	call	insert
	jmp	.L4
.L3:
	leaq	-18(%rbp), %rax
	leaq	.LC3(%rip), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcmp@PLT
	testl	%eax, %eax
	jne	.L5
	leaq	-40(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-40(%rbp), %edx
	movq	root(%rip), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	find
	cmpl	$1, %eax
	jne	.L6
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	jmp	.L4
.L6:
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	jmp	.L4
.L5:
	leaq	-18(%rbp), %rax
	leaq	.LC6(%rip), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcmp@PLT
	testl	%eax, %eax
	jne	.L7
	movq	root(%rip), %rax
	movq	%rax, %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	movq	%rax, %rdi
	call	preorderWalk
	jmp	.L4
.L7:
	leaq	.LC7(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$1, %edi
	call	exit@PLT
.L4:
	addl	$1, -36(%rbp)
.L2:
	movl	-44(%rbp), %eax
	cmpl	%eax, -36(%rbp)
	jl	.L8
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L10
	call	__stack_chk_fail@PLT
.L10:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.globl	make1node
	.type	make1node, @function
make1node:
.LFB7:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	$32, %edi
	call	malloc@PLT
	movq	%rax, -8(%rbp)
	movq	-8(%rbp), %rax
	movl	-20(%rbp), %edx
	movl	%edx, (%rax)
	movq	-8(%rbp), %rax
	movq	$0, 8(%rax)
	movq	-8(%rbp), %rax
	movq	$0, 16(%rax)
	movq	-8(%rbp), %rax
	movq	$0, 24(%rax)
	movq	-8(%rbp), %rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	make1node, .-make1node
	.globl	insert
	.type	insert, @function
insert:
.LFB8:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -24(%rbp)
	movq	$0, -16(%rbp)
	movq	root(%rip), %rax
	movq	%rax, -8(%rbp)
	jmp	.L14
.L16:
	movq	-8(%rbp), %rax
	movq	%rax, -16(%rbp)
	movq	-24(%rbp), %rax
	movl	(%rax), %edx
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, %edx
	jge	.L15
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movq	%rax, -8(%rbp)
	jmp	.L14
.L15:
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movq	%rax, -8(%rbp)
.L14:
	cmpq	$0, -8(%rbp)
	jne	.L16
	movq	-24(%rbp), %rax
	movq	-16(%rbp), %rdx
	movq	%rdx, 8(%rax)
	cmpq	$0, -16(%rbp)
	jne	.L17
	movq	-24(%rbp), %rax
	movq	%rax, root(%rip)
	jmp	.L20
.L17:
	movq	-24(%rbp), %rax
	movl	(%rax), %edx
	movq	-16(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, %edx
	jge	.L19
	movq	-16(%rbp), %rax
	movq	-24(%rbp), %rdx
	movq	%rdx, 16(%rax)
	jmp	.L20
.L19:
	movq	-16(%rbp), %rax
	movq	-24(%rbp), %rdx
	movq	%rdx, 24(%rax)
.L20:
	nop
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	insert, .-insert
	.globl	find
	.type	find, @function
find:
.LFB9:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	movl	%esi, -12(%rbp)
	cmpq	$0, -8(%rbp)
	jne	.L22
	movl	$0, %eax
	jmp	.L21
.L22:
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -12(%rbp)
	jle	.L24
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movl	-12(%rbp), %edx
	movl	%edx, %esi
	movq	%rax, %rdi
	call	find
	jmp	.L21
.L24:
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -12(%rbp)
	jne	.L25
	movl	$1, %eax
	jmp	.L21
.L25:
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -12(%rbp)
	jge	.L26
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movl	-12(%rbp), %edx
	movl	%edx, %esi
	movq	%rax, %rdi
	call	find
	jmp	.L21
.L26:
.L21:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	find, .-find
	.section	.rodata
.LC8:
	.string	" %d"
	.text
	.globl	preorderWalk
	.type	preorderWalk, @function
preorderWalk:
.LFB10:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	cmpq	$0, -8(%rbp)
	je	.L29
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, %esi
	leaq	.LC8(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movq	%rax, %rdi
	call	preorderWalk
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movq	%rax, %rdi
	call	preorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, -8(%rbp)
	jne	.L29
	movl	$10, %edi
	call	putchar@PLT
.L29:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	preorderWalk, .-preorderWalk
	.globl	inorderWalk
	.type	inorderWalk, @function
inorderWalk:
.LFB11:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	cmpq	$0, -8(%rbp)
	je	.L32
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movq	%rax, %rdi
	call	inorderWalk
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, %esi
	leaq	.LC8(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movq	%rax, %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, -8(%rbp)
	jne	.L32
	movl	$10, %edi
	call	putchar@PLT
.L32:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	inorderWalk, .-inorderWalk
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
train
	.file	"temp.c"
	.text
	.globl	root
	.bss
	.align 8
	.type	root, @object
	.size	root, 8
root:
	.zero	8
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%s"
.LC2:
	.string	"insert"
.LC3:
	.string	"find"
.LC4:
	.string	"yes"
.LC5:
	.string	"no"
.LC6:
	.string	"print"
.LC7:
	.string	"undefined operation"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movq	$0, root(%rip)
	leaq	-44(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -36(%rbp)
	jmp	.L2
.L8:
	leaq	-18(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	leaq	-18(%rbp), %rax
	leaq	.LC2(%rip), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcmp@PLT
	testl	%eax, %eax
	jne	.L3
	leaq	-40(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-40(%rbp), %eax
	movl	%eax, %edi
	call	make1node
	movq	%rax, -32(%rbp)
	movq	-32(%rbp), %rax
	movq	%rax, %rdi
	call	insert
	jmp	.L4
.L3:
	leaq	-18(%rbp), %rax
	leaq	.LC3(%rip), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcmp@PLT
	testl	%eax, %eax
	jne	.L5
	leaq	-40(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-40(%rbp), %edx
	movq	root(%rip), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	find
	cmpl	$1, %eax
	jne	.L6
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	jmp	.L4
.L6:
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	jmp	.L4
.L5:
	leaq	-18(%rbp), %rax
	leaq	.LC6(%rip), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcmp@PLT
	testl	%eax, %eax
	jne	.L7
	movq	root(%rip), %rax
	movq	%rax, %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	movq	%rax, %rdi
	call	preorderWalk
	jmp	.L4
.L7:
	leaq	.LC7(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$1, %edi
	call	exit@PLT
.L4:
	addl	$1, -36(%rbp)
.L2:
	movl	-44(%rbp), %eax
	cmpl	%eax, -36(%rbp)
	jl	.L8
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L10
	call	__stack_chk_fail@PLT
.L10:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.globl	make1node
	.type	make1node, @function
make1node:
.LFB7:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	$32, %edi
	call	malloc@PLT
	movq	%rax, -8(%rbp)
	movq	-8(%rbp), %rax
	movl	-20(%rbp), %edx
	movl	%edx, (%rax)
	movq	-8(%rbp), %rax
	movq	$0, 8(%rax)
	movq	-8(%rbp), %rax
	movq	$0, 16(%rax)
	movq	-8(%rbp), %rax
	movq	$0, 24(%rax)
	movq	-8(%rbp), %rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	make1node, .-make1node
	.globl	insert
	.type	insert, @function
insert:
.LFB8:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -24(%rbp)
	movq	$0, -16(%rbp)
	movq	root(%rip), %rax
	movq	%rax, -8(%rbp)
	jmp	.L14
.L16:
	movq	-8(%rbp), %rax
	movq	%rax, -16(%rbp)
	movq	-24(%rbp), %rax
	movl	(%rax), %edx
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, %edx
	jge	.L15
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movq	%rax, -8(%rbp)
	jmp	.L14
.L15:
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movq	%rax, -8(%rbp)
.L14:
	cmpq	$0, -8(%rbp)
	jne	.L16
	movq	-24(%rbp), %rax
	movq	-16(%rbp), %rdx
	movq	%rdx, 8(%rax)
	cmpq	$0, -16(%rbp)
	jne	.L17
	movq	-24(%rbp), %rax
	movq	%rax, root(%rip)
	jmp	.L20
.L17:
	movq	-24(%rbp), %rax
	movl	(%rax), %edx
	movq	-16(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, %edx
	jge	.L19
	movq	-16(%rbp), %rax
	movq	-24(%rbp), %rdx
	movq	%rdx, 16(%rax)
	jmp	.L20
.L19:
	movq	-16(%rbp), %rax
	movq	-24(%rbp), %rdx
	movq	%rdx, 24(%rax)
.L20:
	nop
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	insert, .-insert
	.globl	find
	.type	find, @function
find:
.LFB9:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	movl	%esi, -12(%rbp)
	cmpq	$0, -8(%rbp)
	jne	.L22
	movl	$0, %eax
	jmp	.L21
.L22:
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -12(%rbp)
	jle	.L24
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movl	-12(%rbp), %edx
	movl	%edx, %esi
	movq	%rax, %rdi
	call	find
	jmp	.L21
.L24:
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -12(%rbp)
	jne	.L25
	movl	$1, %eax
	jmp	.L21
.L25:
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -12(%rbp)
	jge	.L26
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movl	-12(%rbp), %edx
	movl	%edx, %esi
	movq	%rax, %rdi
	call	find
	jmp	.L21
.L26:
.L21:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	find, .-find
	.section	.rodata
.LC8:
	.string	" %d"
	.text
	.globl	preorderWalk
	.type	preorderWalk, @function
preorderWalk:
.LFB10:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	cmpq	$0, -8(%rbp)
	je	.L29
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, %esi
	leaq	.LC8(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movq	%rax, %rdi
	call	preorderWalk
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movq	%rax, %rdi
	call	preorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, -8(%rbp)
	jne	.L29
	movl	$10, %edi
	call	putchar@PLT
.L29:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	preorderWalk, .-preorderWalk
	.globl	inorderWalk
	.type	inorderWalk, @function
inorderWalk:
.LFB11:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	cmpq	$0, -8(%rbp)
	je	.L32
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movq	%rax, %rdi
	call	inorderWalk
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, %esi
	leaq	.LC8(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movq	-8(%rbp), %rax
	movq	24(%rax), %rax
	movq	%rax, %rdi
	call	inorderWalk
	movq	root(%rip), %rax
	cmpq	%rax, -8(%rbp)
	jne	.L32
	movl	$10, %edi
	call	putchar@PLT
.L32:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	inorderWalk, .-inorderWalk
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
