object foo {
  abstract sealed class num
  final case class One() extends num
  final case class Bit0(a: num) extends num
  final case class Bit1(a: num) extends num

  abstract sealed class char
  final case class zero_char() extends char
  final case class Char(a: num) extends char

  def integer_of_char(x0: char): BigInt = x0 match {
    case Char(Bit1(Bit1(Bit1(Bit1(Bit1(Bit1(Bit1(One())))))))) => BigInt(255)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit1(Bit1(Bit1(One())))))))) => BigInt(254)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit1(Bit1(Bit1(One())))))))) => BigInt(253)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit1(Bit1(Bit1(One())))))))) => BigInt(252)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit1(Bit1(Bit1(One())))))))) => BigInt(251)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit1(Bit1(Bit1(One())))))))) => BigInt(250)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit1(Bit1(Bit1(One())))))))) => BigInt(249)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit1(Bit1(Bit1(One())))))))) => BigInt(248)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit1(Bit1(Bit1(One())))))))) => BigInt(247)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit1(Bit1(Bit1(One())))))))) => BigInt(246)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit1(Bit1(Bit1(One())))))))) => BigInt(245)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit1(Bit1(Bit1(One())))))))) => BigInt(244)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit1(Bit1(Bit1(One())))))))) => BigInt(243)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit1(Bit1(Bit1(One())))))))) => BigInt(242)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit1(Bit1(Bit1(One())))))))) => BigInt(241)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit1(Bit1(Bit1(One())))))))) => BigInt(240)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit0(Bit1(Bit1(One())))))))) => BigInt(239)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit0(Bit1(Bit1(One())))))))) => BigInt(238)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit0(Bit1(Bit1(One())))))))) => BigInt(237)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit0(Bit1(Bit1(One())))))))) => BigInt(236)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit0(Bit1(Bit1(One())))))))) => BigInt(235)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit0(Bit1(Bit1(One())))))))) => BigInt(234)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit0(Bit1(Bit1(One())))))))) => BigInt(233)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit0(Bit1(Bit1(One())))))))) => BigInt(232)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit0(Bit1(Bit1(One())))))))) => BigInt(231)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit0(Bit1(Bit1(One())))))))) => BigInt(230)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit0(Bit1(Bit1(One())))))))) => BigInt(229)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit0(Bit1(Bit1(One())))))))) => BigInt(228)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit0(Bit1(Bit1(One())))))))) => BigInt(227)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit0(Bit1(Bit1(One())))))))) => BigInt(226)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit0(Bit1(Bit1(One())))))))) => BigInt(225)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit0(Bit1(Bit1(One())))))))) => BigInt(224)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit1(Bit0(Bit1(One())))))))) => BigInt(223)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit1(Bit0(Bit1(One())))))))) => BigInt(222)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit1(Bit0(Bit1(One())))))))) => BigInt(221)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit1(Bit0(Bit1(One())))))))) => BigInt(220)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit1(Bit0(Bit1(One())))))))) => BigInt(219)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit1(Bit0(Bit1(One())))))))) => BigInt(218)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit1(Bit0(Bit1(One())))))))) => BigInt(217)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit1(Bit0(Bit1(One())))))))) => BigInt(216)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit1(Bit0(Bit1(One())))))))) => BigInt(215)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit1(Bit0(Bit1(One())))))))) => BigInt(214)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit1(Bit0(Bit1(One())))))))) => BigInt(213)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit1(Bit0(Bit1(One())))))))) => BigInt(212)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit1(Bit0(Bit1(One())))))))) => BigInt(211)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit1(Bit0(Bit1(One())))))))) => BigInt(210)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit1(Bit0(Bit1(One())))))))) => BigInt(209)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit1(Bit0(Bit1(One())))))))) => BigInt(208)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit0(Bit0(Bit1(One())))))))) => BigInt(207)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit0(Bit0(Bit1(One())))))))) => BigInt(206)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit0(Bit0(Bit1(One())))))))) => BigInt(205)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit0(Bit0(Bit1(One())))))))) => BigInt(204)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit0(Bit0(Bit1(One())))))))) => BigInt(203)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit0(Bit0(Bit1(One())))))))) => BigInt(202)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit0(Bit0(Bit1(One())))))))) => BigInt(201)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit0(Bit0(Bit1(One())))))))) => BigInt(200)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit0(Bit0(Bit1(One())))))))) => BigInt(199)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit0(Bit0(Bit1(One())))))))) => BigInt(198)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit0(Bit0(Bit1(One())))))))) => BigInt(197)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit0(Bit0(Bit1(One())))))))) => BigInt(196)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit0(Bit0(Bit1(One())))))))) => BigInt(195)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit0(Bit0(Bit1(One())))))))) => BigInt(194)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit0(Bit0(Bit1(One())))))))) => BigInt(193)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit0(Bit0(Bit1(One())))))))) => BigInt(192)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit1(Bit1(Bit0(One())))))))) => BigInt(191)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit1(Bit1(Bit0(One())))))))) => BigInt(190)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit1(Bit1(Bit0(One())))))))) => BigInt(189)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit1(Bit1(Bit0(One())))))))) => BigInt(188)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit1(Bit1(Bit0(One())))))))) => BigInt(187)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit1(Bit1(Bit0(One())))))))) => BigInt(186)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit1(Bit1(Bit0(One())))))))) => BigInt(185)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit1(Bit1(Bit0(One())))))))) => BigInt(184)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit1(Bit1(Bit0(One())))))))) => BigInt(183)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit1(Bit1(Bit0(One())))))))) => BigInt(182)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit1(Bit1(Bit0(One())))))))) => BigInt(181)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit1(Bit1(Bit0(One())))))))) => BigInt(180)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit1(Bit1(Bit0(One())))))))) => BigInt(179)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit1(Bit1(Bit0(One())))))))) => BigInt(178)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit1(Bit1(Bit0(One())))))))) => BigInt(177)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit1(Bit1(Bit0(One())))))))) => BigInt(176)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit0(Bit1(Bit0(One())))))))) => BigInt(175)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit0(Bit1(Bit0(One())))))))) => BigInt(174)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit0(Bit1(Bit0(One())))))))) => BigInt(173)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit0(Bit1(Bit0(One())))))))) => BigInt(172)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit0(Bit1(Bit0(One())))))))) => BigInt(171)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit0(Bit1(Bit0(One())))))))) => BigInt(170)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit0(Bit1(Bit0(One())))))))) => BigInt(169)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit0(Bit1(Bit0(One())))))))) => BigInt(168)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit0(Bit1(Bit0(One())))))))) => BigInt(167)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit0(Bit1(Bit0(One())))))))) => BigInt(166)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit0(Bit1(Bit0(One())))))))) => BigInt(165)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit0(Bit1(Bit0(One())))))))) => BigInt(164)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit0(Bit1(Bit0(One())))))))) => BigInt(163)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit0(Bit1(Bit0(One())))))))) => BigInt(162)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit0(Bit1(Bit0(One())))))))) => BigInt(161)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit0(Bit1(Bit0(One())))))))) => BigInt(160)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit1(Bit0(Bit0(One())))))))) => BigInt(159)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit1(Bit0(Bit0(One())))))))) => BigInt(158)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit1(Bit0(Bit0(One())))))))) => BigInt(157)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit1(Bit0(Bit0(One())))))))) => BigInt(156)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit1(Bit0(Bit0(One())))))))) => BigInt(155)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit1(Bit0(Bit0(One())))))))) => BigInt(154)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit1(Bit0(Bit0(One())))))))) => BigInt(153)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit1(Bit0(Bit0(One())))))))) => BigInt(152)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit1(Bit0(Bit0(One())))))))) => BigInt(151)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit1(Bit0(Bit0(One())))))))) => BigInt(150)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit1(Bit0(Bit0(One())))))))) => BigInt(149)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit1(Bit0(Bit0(One())))))))) => BigInt(148)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit1(Bit0(Bit0(One())))))))) => BigInt(147)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit1(Bit0(Bit0(One())))))))) => BigInt(146)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit1(Bit0(Bit0(One())))))))) => BigInt(145)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit1(Bit0(Bit0(One())))))))) => BigInt(144)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit0(Bit0(Bit0(One())))))))) => BigInt(143)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit0(Bit0(Bit0(One())))))))) => BigInt(142)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit0(Bit0(Bit0(One())))))))) => BigInt(141)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit0(Bit0(Bit0(One())))))))) => BigInt(140)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit0(Bit0(Bit0(One())))))))) => BigInt(139)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit0(Bit0(Bit0(One())))))))) => BigInt(138)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit0(Bit0(Bit0(One())))))))) => BigInt(137)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit0(Bit0(Bit0(One())))))))) => BigInt(136)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit0(Bit0(Bit0(One())))))))) => BigInt(135)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit0(Bit0(Bit0(One())))))))) => BigInt(134)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit0(Bit0(Bit0(One())))))))) => BigInt(133)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit0(Bit0(Bit0(One())))))))) => BigInt(132)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit0(Bit0(Bit0(One())))))))) => BigInt(131)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit0(Bit0(Bit0(One())))))))) => BigInt(130)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit0(Bit0(Bit0(One())))))))) => BigInt(129)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit0(Bit0(Bit0(One())))))))) => BigInt(128)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit1(Bit1(One()))))))) => BigInt(127)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit1(Bit1(One()))))))) => BigInt(126)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit1(Bit1(One()))))))) => BigInt(125)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit1(Bit1(One()))))))) => BigInt(124)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit1(Bit1(One()))))))) => BigInt(123)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit1(Bit1(One()))))))) => BigInt(122)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit1(Bit1(One()))))))) => BigInt(121)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit1(Bit1(One()))))))) => BigInt(120)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit1(Bit1(One()))))))) => BigInt(119)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit1(Bit1(One()))))))) => BigInt(118)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit1(Bit1(One()))))))) => BigInt(117)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit1(Bit1(One()))))))) => BigInt(116)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit1(Bit1(One()))))))) => BigInt(115)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit1(Bit1(One()))))))) => BigInt(114)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit1(Bit1(One()))))))) => BigInt(113)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit1(Bit1(One()))))))) => BigInt(112)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit0(Bit1(One()))))))) => BigInt(111)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit0(Bit1(One()))))))) => BigInt(110)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit0(Bit1(One()))))))) => BigInt(109)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit0(Bit1(One()))))))) => BigInt(108)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit0(Bit1(One()))))))) => BigInt(107)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit0(Bit1(One()))))))) => BigInt(106)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit0(Bit1(One()))))))) => BigInt(105)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit0(Bit1(One()))))))) => BigInt(104)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit0(Bit1(One()))))))) => BigInt(103)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit0(Bit1(One()))))))) => BigInt(102)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit0(Bit1(One()))))))) => BigInt(101)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit0(Bit1(One()))))))) => BigInt(100)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit0(Bit1(One()))))))) => BigInt(99)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit0(Bit1(One()))))))) => BigInt(98)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit0(Bit1(One()))))))) => BigInt(97)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit0(Bit1(One()))))))) => BigInt(96)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit1(Bit0(One()))))))) => BigInt(95)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit1(Bit0(One()))))))) => BigInt(94)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit1(Bit0(One()))))))) => BigInt(93)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit1(Bit0(One()))))))) => BigInt(92)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit1(Bit0(One()))))))) => BigInt(91)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit1(Bit0(One()))))))) => BigInt(90)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit1(Bit0(One()))))))) => BigInt(89)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit1(Bit0(One()))))))) => BigInt(88)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit1(Bit0(One()))))))) => BigInt(87)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit1(Bit0(One()))))))) => BigInt(86)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit1(Bit0(One()))))))) => BigInt(85)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit1(Bit0(One()))))))) => BigInt(84)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit1(Bit0(One()))))))) => BigInt(83)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit1(Bit0(One()))))))) => BigInt(82)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit1(Bit0(One()))))))) => BigInt(81)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit1(Bit0(One()))))))) => BigInt(80)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit0(Bit0(One()))))))) => BigInt(79)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit0(Bit0(One()))))))) => BigInt(78)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit0(Bit0(One()))))))) => BigInt(77)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit0(Bit0(One()))))))) => BigInt(76)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit0(Bit0(One()))))))) => BigInt(75)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit0(Bit0(One()))))))) => BigInt(74)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit0(Bit0(One()))))))) => BigInt(73)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit0(Bit0(One()))))))) => BigInt(72)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit0(Bit0(One()))))))) => BigInt(71)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit0(Bit0(One()))))))) => BigInt(70)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit0(Bit0(One()))))))) => BigInt(69)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit0(Bit0(One()))))))) => BigInt(68)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit0(Bit0(One()))))))) => BigInt(67)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit0(Bit0(One()))))))) => BigInt(66)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit0(Bit0(One()))))))) => BigInt(65)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit0(Bit0(One()))))))) => BigInt(64)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit1(One())))))) => BigInt(63)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit1(One())))))) => BigInt(62)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit1(One())))))) => BigInt(61)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit1(One())))))) => BigInt(60)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit1(One())))))) => BigInt(59)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit1(One())))))) => BigInt(58)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit1(One())))))) => BigInt(57)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit1(One())))))) => BigInt(56)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit1(One())))))) => BigInt(55)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit1(One())))))) => BigInt(54)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit1(One())))))) => BigInt(53)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit1(One())))))) => BigInt(52)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit1(One())))))) => BigInt(51)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit1(One())))))) => BigInt(50)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit1(One())))))) => BigInt(49)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit1(One())))))) => BigInt(48)
    case Char(Bit1(Bit1(Bit1(Bit1(Bit0(One())))))) => BigInt(47)
    case Char(Bit0(Bit1(Bit1(Bit1(Bit0(One())))))) => BigInt(46)
    case Char(Bit1(Bit0(Bit1(Bit1(Bit0(One())))))) => BigInt(45)
    case Char(Bit0(Bit0(Bit1(Bit1(Bit0(One())))))) => BigInt(44)
    case Char(Bit1(Bit1(Bit0(Bit1(Bit0(One())))))) => BigInt(43)
    case Char(Bit0(Bit1(Bit0(Bit1(Bit0(One())))))) => BigInt(42)
    case Char(Bit1(Bit0(Bit0(Bit1(Bit0(One())))))) => BigInt(41)
    case Char(Bit0(Bit0(Bit0(Bit1(Bit0(One())))))) => BigInt(40)
    case Char(Bit1(Bit1(Bit1(Bit0(Bit0(One())))))) => BigInt(39)
    case Char(Bit0(Bit1(Bit1(Bit0(Bit0(One())))))) => BigInt(38)
    case Char(Bit1(Bit0(Bit1(Bit0(Bit0(One())))))) => BigInt(37)
    case Char(Bit0(Bit0(Bit1(Bit0(Bit0(One())))))) => BigInt(36)
    case Char(Bit1(Bit1(Bit0(Bit0(Bit0(One())))))) => BigInt(35)
    case Char(Bit0(Bit1(Bit0(Bit0(Bit0(One())))))) => BigInt(34)
    case Char(Bit1(Bit0(Bit0(Bit0(Bit0(One())))))) => BigInt(33)
    case Char(Bit0(Bit0(Bit0(Bit0(Bit0(One())))))) => BigInt(32)
    case Char(Bit1(Bit1(Bit1(Bit1(One()))))) => BigInt(31)
    case Char(Bit0(Bit1(Bit1(Bit1(One()))))) => BigInt(30)
    case Char(Bit1(Bit0(Bit1(Bit1(One()))))) => BigInt(29)
    case Char(Bit0(Bit0(Bit1(Bit1(One()))))) => BigInt(28)
    case Char(Bit1(Bit1(Bit0(Bit1(One()))))) => BigInt(27)
    case Char(Bit0(Bit1(Bit0(Bit1(One()))))) => BigInt(26)
    case Char(Bit1(Bit0(Bit0(Bit1(One()))))) => BigInt(25)
    case Char(Bit0(Bit0(Bit0(Bit1(One()))))) => BigInt(24)
    case Char(Bit1(Bit1(Bit1(Bit0(One()))))) => BigInt(23)
    case Char(Bit0(Bit1(Bit1(Bit0(One()))))) => BigInt(22)
    case Char(Bit1(Bit0(Bit1(Bit0(One()))))) => BigInt(21)
    case Char(Bit0(Bit0(Bit1(Bit0(One()))))) => BigInt(20)
    case Char(Bit1(Bit1(Bit0(Bit0(One()))))) => BigInt(19)
    case Char(Bit0(Bit1(Bit0(Bit0(One()))))) => BigInt(18)
    case Char(Bit1(Bit0(Bit0(Bit0(One()))))) => BigInt(17)
    case Char(Bit0(Bit0(Bit0(Bit0(One()))))) => BigInt(16)
    case Char(Bit1(Bit1(Bit1(One())))) => BigInt(15)
    case Char(Bit0(Bit1(Bit1(One())))) => BigInt(14)
    case Char(Bit1(Bit0(Bit1(One())))) => BigInt(13)
    case Char(Bit0(Bit0(Bit1(One())))) => BigInt(12)
    case Char(Bit1(Bit1(Bit0(One())))) => BigInt(11)
    case Char(Bit0(Bit1(Bit0(One())))) => BigInt(10)
    case Char(Bit1(Bit0(Bit0(One())))) => BigInt(9)
    case Char(Bit0(Bit0(Bit0(One())))) => BigInt(8)
    case Char(Bit1(Bit1(One()))) => BigInt(7)
    case Char(Bit0(Bit1(One()))) => BigInt(6)
    case Char(Bit1(Bit0(One()))) => BigInt(5)
    case Char(Bit0(Bit0(One()))) => BigInt(4)
    case Char(Bit1(One())) => BigInt(3)
    case Char(Bit0(One())) => BigInt(2)
    case Char(One()) => BigInt(1)
    case zero_char() => BigInt(0)
  }
}
