.text
print_int:
  move $a0, $t0
  li   $v0, 1
  syscall
  jr   $ra
print_string:
  move $a0, $t0
  li   $v0, 4
  syscall
  jr   $ra
print_bool:
  beqz $t0, _label_0
  la   $a0, __str_0
  li   $v0, 4
  syscall
  jr   $ra
_label_0:
  la   $a0, __str_1
  li   $v0, 4
  syscall
  jr   $ra
_start:
  jal  main
  li   $v0, 10
  syscall
div1:
  addi $sp, $sp, -4
  sw   $ra, 0($sp)
  addi $sp, $sp, -4
  sw   $fp, 0($sp)
  move $fp, $sp
  addi $sp, $sp, -8
  lw   $t0, 12($fp)
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 8($fp)
  lw   $t1, 0($sp)
  addi $sp, $sp, 4
  slt  $t0, $t0, $t1
  beqz $t0, _label_5
  li   $a0, 8
  li   $v0, 9
  syscall
  move $t0, $v0
  move $t3, $t0
  li   $t0, 0
  sw   $t0, 0($t3)
  lw   $t0, 8($fp)
  sw   $t0, 4($t3)
  move $t0, $t3
  move $sp, $fp
  lw   $fp, 0($sp)
  addi $sp, $sp, 4
  lw   $ra, 0($sp)
  addi $sp, $sp, 4
  jr   $ra
  b    _label_6
_label_5:
  lw   $t0, 12($fp)
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 12($fp)
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 8($fp)
  lw   $t1, 0($sp)
  addi $sp, $sp, 4
  sub  $t0, $t0, $t1
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  jal  div1
  addi $sp, $sp, 8
  move $t3, $t0
  lw   $t0, 0($t3)
  sw   $t0, -4($fp)
  lw   $t0, 4($t3)
  sw   $t0, -8($fp)
  li   $a0, 8
  li   $v0, 9
  syscall
  move $t0, $v0
  move $t3, $t0
  li   $t0, 1
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, -4($fp)
  lw   $t1, 0($sp)
  addi $sp, $sp, 4
  add  $t0, $t0, $t1
  sw   $t0, 0($t3)
  lw   $t0, -8($fp)
  sw   $t0, 4($t3)
  move $t0, $t3
  move $sp, $fp
  lw   $fp, 0($sp)
  addi $sp, $sp, 4
  lw   $ra, 0($sp)
  addi $sp, $sp, 4
  jr   $ra
_label_6:
  move $sp, $fp
  lw   $fp, 0($sp)
  addi $sp, $sp, 4
  lw   $ra, 0($sp)
  addi $sp, $sp, 4
  jr   $ra
div2:
  addi $sp, $sp, -4
  sw   $ra, 0($sp)
  addi $sp, $sp, -4
  sw   $fp, 0($sp)
  move $fp, $sp
  addi $sp, $sp, -4
  li   $t0, 0
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 0($sp)
  addi $sp, $sp, 4
  sw   $t0, -4($fp)
_label_3:
  lw   $t0, 12($fp)
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 8($fp)
  lw   $t1, 0($sp)
  addi $sp, $sp, 4
  slt  $t0, $t0, $t1
  seq  $t0, $t0, $zero
  beqz $t0, _label_4
  lw   $t0, -4($fp)
  addi $t0, $t0, 1
  sw   $t0, -4($fp)
  lw   $t0, 12($fp)
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 8($fp)
  lw   $t1, 0($sp)
  addi $sp, $sp, 4
  sub  $t0, $t0, $t1
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 0($sp)
  addi $sp, $sp, 4
  sw   $t0, 8($fp)
  b    _label_3
_label_4:
  li   $a0, 8
  li   $v0, 9
  syscall
  move $t0, $v0
  move $t3, $t0
  lw   $t0, -4($fp)
  sw   $t0, 0($t3)
  lw   $t0, 8($fp)
  sw   $t0, 4($t3)
  move $t0, $t3
  move $sp, $fp
  lw   $fp, 0($sp)
  addi $sp, $sp, 4
  lw   $ra, 0($sp)
  addi $sp, $sp, 4
  jr   $ra
  move $sp, $fp
  lw   $fp, 0($sp)
  addi $sp, $sp, 4
  lw   $ra, 0($sp)
  addi $sp, $sp, 4
  jr   $ra
div3:
  addi $sp, $sp, -4
  sw   $ra, 0($sp)
  addi $sp, $sp, -4
  sw   $fp, 0($sp)
  move $fp, $sp
  addi $sp, $sp, -4
  li   $a0, 8
  li   $v0, 9
  syscall
  move $t0, $v0
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 0($sp)
  addi $sp, $sp, 4
  sw   $t0, -4($fp)
  li   $t0, 0
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 0($sp)
  addi $sp, $sp, 4
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, -4($fp)
  lw   $t1, 0($sp)
  addi $sp, $sp, 4
  sw   $t1, 0($t0)
_label_1:
  lw   $t0, 12($fp)
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 8($fp)
  lw   $t1, 0($sp)
  addi $sp, $sp, 4
  slt  $t0, $t0, $t1
  seq  $t0, $t0, $zero
  beqz $t0, _label_2
  lw   $t0, 12($fp)
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 8($fp)
  lw   $t1, 0($sp)
  addi $sp, $sp, 4
  sub  $t0, $t0, $t1
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 0($sp)
  addi $sp, $sp, 4
  sw   $t0, 8($fp)
  b    _label_1
_label_2:
  lw   $t0, 8($fp)
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 0($sp)
  addi $sp, $sp, 4
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, -4($fp)
  lw   $t1, 0($sp)
  addi $sp, $sp, 4
  sw   $t1, 0($t0)
  lw   $t0, -4($fp)
  move $sp, $fp
  lw   $fp, 0($sp)
  addi $sp, $sp, 4
  lw   $ra, 0($sp)
  addi $sp, $sp, 4
  jr   $ra
  move $sp, $fp
  lw   $fp, 0($sp)
  addi $sp, $sp, 4
  lw   $ra, 0($sp)
  addi $sp, $sp, 4
  jr   $ra
main:
  addi $sp, $sp, -4
  sw   $ra, 0($sp)
  addi $sp, $sp, -4
  sw   $fp, 0($sp)
  move $fp, $sp
  addi $sp, $sp, -4
  jal  print_int
  la   $t0, __str_2
  jal  print_string
  jal  print_int
  la   $t0, __str_2
  jal  print_string
  li   $t0, 6
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  li   $t0, 45
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  jal  div3
  addi $sp, $sp, 8
  addi $sp, $sp, -4
  sw   $t0, 0($sp)
  lw   $t0, 0($sp)
  addi $sp, $sp, 4
  sw   $t0, -4($fp)
  lw   $t0, -4($fp)
  lw   $t0, 0($t0)
  jal  print_int
  lw   $t0, -4($fp)
  lw   $t0, 0($t0)
  jal  print_int
  la   $t0, __str_2
  jal  print_string
  lw   $t0, -4($fp)
  jal  print_int
  la   $t0, __str_2
  jal  print_string
  move $sp, $fp
  lw   $fp, 0($sp)
  addi $sp, $sp, 4
  lw   $ra, 0($sp)
  addi $sp, $sp, 4
  jr   $ra
.data
__str_0:
  .asciiz "true"
__str_1:
  .asciiz "false"
__str_2:
  .asciiz "\\n"
