import java.util.Comparator

/**
 * Reciprocal cycles
 *
 * A unit fraction contains 1 in the numerator. The decimal representation of the unit fractions with denominators 2 to
 * 10 are given:
 *
 * 1/2	= 	0.5
 * 1/3	= 	0.(3)
 * 1/4	= 	0.25
 * 1/5	= 	0.2
 * 1/6	= 	0.1(6)
 * 1/7	= 	0.(142857)
 * 1/8	= 	0.125
 * 1/9	= 	0.(1)
 * 1/10	= 	0.1
 *
 * Where 0.1(6) means 0.166666..., and has a 1-digit recurring cycle. It can be seen that 1/7 has a 6-digit recurring
 * cycle.
 *
 * Find the value of d < 1000 for which 1/d contains the longest recurring cycle in its decimal fraction part.
 *
 * https://projecteuler.net/problem=26
 */
fun main() {
    println(2.countRepeatingDecimalsInUnitFraction())
    println(3.countRepeatingDecimalsInUnitFraction())
    println(4.countRepeatingDecimalsInUnitFraction())
    println(5.countRepeatingDecimalsInUnitFraction())
    println(6.countRepeatingDecimalsInUnitFraction())
    println(7.countRepeatingDecimalsInUnitFraction())
    println(8.countRepeatingDecimalsInUnitFraction())
    println(9.countRepeatingDecimalsInUnitFraction())
    println(10.countRepeatingDecimalsInUnitFraction())

    println(findLongestRecurringCycle(1_000))
}

private fun findLongestRecurringCycle(limit: Int): Int = (2 until limit)
    .map { it to it.countRepeatingDecimalsInUnitFraction() }
    .maxWithOrNull(Comparator.comparingInt(Pair<Int, Int>::second))!!
    .first

private fun Int.countRepeatingDecimalsInUnitFraction(): Int {
    var acc = 10
    var rem: Int
    val rems = mutableMapOf<Int, Int>()
    var index = 0
    do {
        rem = acc / this
        acc -= (this * rem)
        if (acc in rems) {
            return rems.size - rems[acc]!!
        } else {
            rems[acc] = index
            index++
        }
        acc *= 10
    } while (acc > 0)
    return 0
}

Compiled from "Problem26.kt"
public final class Problem26Kt {
  public static final void main();
    Code:
       0: iconst_2
       1: invokestatic  #10                 // Method countRepeatingDecimalsInUnitFraction:(I)I
       4: istore_0
       5: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
       8: iload_0
       9: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
      12: iconst_3
      13: invokestatic  #10                 // Method countRepeatingDecimalsInUnitFraction:(I)I
      16: istore_0
      17: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
      20: iload_0
      21: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
      24: iconst_4
      25: invokestatic  #10                 // Method countRepeatingDecimalsInUnitFraction:(I)I
      28: istore_0
      29: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
      32: iload_0
      33: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
      36: iconst_5
      37: invokestatic  #10                 // Method countRepeatingDecimalsInUnitFraction:(I)I
      40: istore_0
      41: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
      44: iload_0
      45: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
      48: bipush        6
      50: invokestatic  #10                 // Method countRepeatingDecimalsInUnitFraction:(I)I
      53: istore_0
      54: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
      57: iload_0
      58: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
      61: bipush        7
      63: invokestatic  #10                 // Method countRepeatingDecimalsInUnitFraction:(I)I
      66: istore_0
      67: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
      70: iload_0
      71: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
      74: bipush        8
      76: invokestatic  #10                 // Method countRepeatingDecimalsInUnitFraction:(I)I
      79: istore_0
      80: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
      83: iload_0
      84: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
      87: bipush        9
      89: invokestatic  #10                 // Method countRepeatingDecimalsInUnitFraction:(I)I
      92: istore_0
      93: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
      96: iload_0
      97: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
     100: bipush        10
     102: invokestatic  #10                 // Method countRepeatingDecimalsInUnitFraction:(I)I
     105: istore_0
     106: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
     109: iload_0
     110: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
     113: sipush        1000
     116: invokestatic  #25                 // Method findLongestRecurringCycle:(I)I
     119: istore_0
     120: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
     123: iload_0
     124: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
     127: return

  private static final int findLongestRecurringCycle(int);
    Code:
       0: iconst_2
       1: iload_0
       2: invokestatic  #31                 // Method kotlin/ranges/RangesKt.until:(II)Lkotlin/ranges/IntRange;
       5: checkcast     #33                 // class java/lang/Iterable
       8: astore_1
       9: nop
      10: iconst_0
      11: istore_2
      12: aload_1
      13: astore_3
      14: new           #35                 // class java/util/ArrayList
      17: dup
      18: aload_1
      19: bipush        10
      21: invokestatic  #41                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
      24: invokespecial #44                 // Method java/util/ArrayList."<init>":(I)V
      27: checkcast     #46                 // class java/util/Collection
      30: astore        4
      32: iconst_0
      33: istore        5
      35: aload_3
      36: invokeinterface #50,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
      41: astore        6
      43: aload         6
      45: invokeinterface #56,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      50: ifeq          102
      53: aload         6
      55: checkcast     #58                 // class kotlin/collections/IntIterator
      58: invokevirtual #62                 // Method kotlin/collections/IntIterator.nextInt:()I
      61: istore        7
      63: aload         4
      65: iload         7
      67: istore        8
      69: astore        10
      71: iconst_0
      72: istore        9
      74: iload         8
      76: invokestatic  #68                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      79: iload         8
      81: invokestatic  #10                 // Method countRepeatingDecimalsInUnitFraction:(I)I
      84: invokestatic  #68                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      87: invokestatic  #74                 // Method kotlin/TuplesKt.to:(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
      90: aload         10
      92: swap
      93: invokeinterface #78,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
      98: pop
      99: goto          43
     102: aload         4
     104: checkcast     #80                 // class java/util/List
     107: nop
     108: checkcast     #33                 // class java/lang/Iterable
     111: getstatic     #86                 // Field Problem26Kt$findLongestRecurringCycle$2.INSTANCE:LProblem26Kt$findLongestRecurringCycle$2;
     114: checkcast     #88                 // class kotlin/jvm/functions/Function1
     117: invokedynamic #106,  0            // InvokeDynamic #0:applyAsInt:(Lkotlin/jvm/functions/Function1;)Ljava/util/function/ToIntFunction;
     122: invokestatic  #112                // InterfaceMethod java/util/Comparator.comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
     125: dup
     126: ldc           #114                // String comparingInt(...)
     128: invokestatic  #120                // Method kotlin/jvm/internal/Intrinsics.checkNotNullExpressionValue:(Ljava/lang/Object;Ljava/lang/String;)V
     131: invokestatic  #124                // Method kotlin/collections/CollectionsKt.maxWithOrNull:(Ljava/lang/Iterable;Ljava/util/Comparator;)Ljava/lang/Object;
     134: dup
     135: invokestatic  #128                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
     138: checkcast     #130                // class kotlin/Pair
     141: invokevirtual #134                // Method kotlin/Pair.getFirst:()Ljava/lang/Object;
     144: checkcast     #136                // class java/lang/Number
     147: invokevirtual #139                // Method java/lang/Number.intValue:()I
     150: ireturn

  private static final int countRepeatingDecimalsInUnitFraction(int);
    Code:
       0: bipush        10
       2: istore_1
       3: iconst_0
       4: istore_2
       5: new           #153                // class java/util/LinkedHashMap
       8: dup
       9: invokespecial #155                // Method java/util/LinkedHashMap."<init>":()V
      12: checkcast     #157                // class java/util/Map
      15: astore_3
      16: iconst_0
      17: istore        4
      19: iload_1
      20: iload_0
      21: idiv
      22: istore_2
      23: iload_1
      24: iload_0
      25: iload_2
      26: imul
      27: isub
      28: istore_1
      29: iload_1
      30: invokestatic  #68                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      33: aload_3
      34: swap
      35: invokeinterface #160,  2          // InterfaceMethod java/util/Map.containsKey:(Ljava/lang/Object;)Z
      40: ifeq          71
      43: aload_3
      44: invokeinterface #163,  1          // InterfaceMethod java/util/Map.size:()I
      49: aload_3
      50: iload_1
      51: invokestatic  #68                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      54: invokeinterface #167,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
      59: dup
      60: invokestatic  #128                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
      63: checkcast     #136                // class java/lang/Number
      66: invokevirtual #139                // Method java/lang/Number.intValue:()I
      69: isub
      70: ireturn
      71: iload_1
      72: invokestatic  #68                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      75: astore        5
      77: iload         4
      79: invokestatic  #68                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      82: astore        6
      84: aload_3
      85: aload         5
      87: aload         6
      89: invokeinterface #171,  3          // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
      94: pop
      95: iinc          4, 1
      98: iload_1
      99: bipush        10
     101: imul
     102: istore_1
     103: iload_1
     104: ifgt          19
     107: iconst_0
     108: ireturn

  public static void main(java.lang.String[]);
    Code:
       0: invokestatic  #180                // Method main:()V
       3: return

  private static final int findLongestRecurringCycle$lambda$1(kotlin.jvm.functions.Function1, java.lang.Object);
    Code:
       0: aload_0
       1: aload_1
       2: invokeinterface #185,  2          // InterfaceMethod kotlin/jvm/functions/Function1.invoke:(Ljava/lang/Object;)Ljava/lang/Object;
       7: checkcast     #136                // class java/lang/Number
      10: invokevirtual #139                // Method java/lang/Number.intValue:()I
      13: ireturn
}

Compiled from "Problem26.kt"
final class Problem26Kt$findLongestRecurringCycle$2 extends kotlin.jvm.internal.PropertyReference1Impl {
  public static final Problem26Kt$findLongestRecurringCycle$2 INSTANCE;

  Problem26Kt$findLongestRecurringCycle$2();
    Code:
       0: aload_0
       1: ldc           #8                  // class kotlin/Pair
       3: ldc           #10                 // String second
       5: ldc           #12                 // String getSecond()Ljava/lang/Object;
       7: iconst_0
       8: invokespecial #15                 // Method kotlin/jvm/internal/PropertyReference1Impl."<init>":(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;I)V
      11: return

  public java.lang.Object get(java.lang.Object);
    Code:
       0: aload_1
       1: checkcast     #8                  // class kotlin/Pair
       4: invokevirtual #23                 // Method kotlin/Pair.getSecond:()Ljava/lang/Object;
       7: areturn

  static {};
    Code:
       0: new           #2                  // class Problem26Kt$findLongestRecurringCycle$2
       3: dup
       4: invokespecial #28                 // Method "<init>":()V
       7: putstatic     #31                 // Field INSTANCE:LProblem26Kt$findLongestRecurringCycle$2;
      10: return
}


/**
 * You are given the following information, but you may prefer to do some research for yourself.
 * - 1 Jan 1900 was a Monday.
 * - Thirty days has September,
 *   April, June and November.
 *   All the rest have thirty-one,
 *   Saving February alone,
 *   Which has twenty-eight, rain or shine.
 *   And on leap years, twenty-nine.
 * - A leap year occurs on any year evenly divisible by 4, but not on a century unless it is divisible by 400.
 * How many Sundays fell on the first of the month during the twentieth century (1 Jan 1901 to 31 Dec 2000)?
 *
 * https://projecteuler.net/problem=19
 */
fun main() {
    println(
        countMondaysFirstOfMonth(
            MyDate(day = 1, month = 1, year = 1901),
            MyDate(day = 31, month = 12, year = 2000)
        )
    )
}

fun countMondaysFirstOfMonth(from: MyDate, to: MyDate): Int {
    var date = MyDate(day = 31, month = 12, year = 1899)
    var count = 0
    while (date <= to) {
        if (date >= from && date.day == 1) {
            count++
        }
        date = date.nextSunday()
    }
    return count
}

private fun MyDate.nextSunday(): MyDate {
    var nextDay = day + 7
    var nextMonth = month
    var nextYear = year
    if (nextDay > daysOfMonth[month]) {
        nextDay %= daysOfMonth[month]
        nextMonth++
        if (nextMonth > 12) {
            nextMonth = 1
            nextYear++
            updateLeapYear(nextYear)
        }
    }
    return MyDate(nextDay, nextMonth, nextYear)
}

private fun updateLeapYear(year: Int) {
    val days = when {
        year % 400 == 0 -> 29
        year % 100 == 0 -> 28
        year % 4 == 0 -> 29
        else -> 28
    }
    daysOfMonth[2] = days
}

data class MyDate(val day: Int, val month: Int, val year: Int)

private operator fun MyDate.compareTo(other: MyDate): Int {
    val y = year.compareTo(other.year)
    if (y != 0) {
        return y
    }
    val m = month.compareTo(other.month)
    if (m != 0) {
        return m
    }

    return day.compareTo(other.day)
}

private val daysOfMonth = arrayOf(
    0,
    31,
    28,
    31,
    30,
    31,
    30,
    31,
    31,
    30,
    31,
    30,
    31,
)

Compiled from "Problem19.kt"
public final class Problem19Kt {
  private static final java.lang.Integer[] daysOfMonth;

  public static final void main();
    Code:
       0: new           #8                  // class MyDate
       3: dup
       4: iconst_1
       5: iconst_1
       6: sipush        1901
       9: invokespecial #12                 // Method MyDate."<init>":(III)V
      12: new           #8                  // class MyDate
      15: dup
      16: bipush        31
      18: bipush        12
      20: sipush        2000
      23: invokespecial #12                 // Method MyDate."<init>":(III)V
      26: invokestatic  #16                 // Method countMondaysFirstOfMonth:(LMyDate;LMyDate;)I
      29: istore_0
      30: getstatic     #22                 // Field java/lang/System.out:Ljava/io/PrintStream;
      33: iload_0
      34: invokevirtual #28                 // Method java/io/PrintStream.println:(I)V
      37: return

  public static final int countMondaysFirstOfMonth(MyDate, MyDate);
    Code:
       0: aload_0
       1: ldc           #31                 // String from
       3: invokestatic  #37                 // Method kotlin/jvm/internal/Intrinsics.checkNotNullParameter:(Ljava/lang/Object;Ljava/lang/String;)V
       6: aload_1
       7: ldc           #39                 // String to
       9: invokestatic  #37                 // Method kotlin/jvm/internal/Intrinsics.checkNotNullParameter:(Ljava/lang/Object;Ljava/lang/String;)V
      12: new           #8                  // class MyDate
      15: dup
      16: bipush        31
      18: bipush        12
      20: sipush        1899
      23: invokespecial #12                 // Method MyDate."<init>":(III)V
      26: astore_2
      27: iconst_0
      28: istore_3
      29: aload_2
      30: aload_1
      31: invokestatic  #42                 // Method compareTo:(LMyDate;LMyDate;)I
      34: ifgt          64
      37: aload_2
      38: aload_0
      39: invokestatic  #42                 // Method compareTo:(LMyDate;LMyDate;)I
      42: iflt          56
      45: aload_2
      46: invokevirtual #46                 // Method MyDate.getDay:()I
      49: iconst_1
      50: if_icmpne     56
      53: iinc          3, 1
      56: aload_2
      57: invokestatic  #50                 // Method nextSunday:(LMyDate;)LMyDate;
      60: astore_2
      61: goto          29
      64: iload_3
      65: ireturn

  private static final MyDate nextSunday(MyDate);
    Code:
       0: aload_0
       1: invokevirtual #46                 // Method MyDate.getDay:()I
       4: bipush        7
       6: iadd
       7: istore_1
       8: aload_0
       9: invokevirtual #57                 // Method MyDate.getMonth:()I
      12: istore_2
      13: aload_0
      14: invokevirtual #60                 // Method MyDate.getYear:()I
      17: istore_3
      18: iload_1
      19: getstatic     #64                 // Field daysOfMonth:[Ljava/lang/Integer;
      22: aload_0
      23: invokevirtual #57                 // Method MyDate.getMonth:()I
      26: aaload
      27: invokevirtual #69                 // Method java/lang/Integer.intValue:()I
      30: if_icmple     65
      33: iload_1
      34: getstatic     #64                 // Field daysOfMonth:[Ljava/lang/Integer;
      37: aload_0
      38: invokevirtual #57                 // Method MyDate.getMonth:()I
      41: aaload
      42: invokevirtual #69                 // Method java/lang/Integer.intValue:()I
      45: irem
      46: istore_1
      47: iinc          2, 1
      50: iload_2
      51: bipush        12
      53: if_icmple     65
      56: iconst_1
      57: istore_2
      58: iinc          3, 1
      61: iload_3
      62: invokestatic  #72                 // Method updateLeapYear:(I)V
      65: new           #8                  // class MyDate
      68: dup
      69: iload_1
      70: iload_2
      71: iload_3
      72: invokespecial #12                 // Method MyDate."<init>":(III)V
      75: areturn

  private static final void updateLeapYear(int);
    Code:
       0: nop
       1: iload_0
       2: sipush        400
       5: irem
       6: ifne          14
       9: bipush        29
      11: goto          39
      14: iload_0
      15: bipush        100
      17: irem
      18: ifne          26
      21: bipush        28
      23: goto          39
      26: iload_0
      27: iconst_4
      28: irem
      29: ifne          37
      32: bipush        29
      34: goto          39
      37: bipush        28
      39: istore_1
      40: getstatic     #64                 // Field daysOfMonth:[Ljava/lang/Integer;
      43: iconst_2
      44: iload_1
      45: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      48: aastore
      49: return

  private static final int compareTo(MyDate, MyDate);
    Code:
       0: aload_0
       1: ldc           #84                 // String <this>
       3: invokestatic  #37                 // Method kotlin/jvm/internal/Intrinsics.checkNotNullParameter:(Ljava/lang/Object;Ljava/lang/String;)V
       6: aload_0
       7: invokevirtual #60                 // Method MyDate.getYear:()I
      10: aload_1
      11: invokevirtual #60                 // Method MyDate.getYear:()I
      14: invokestatic  #88                 // Method kotlin/jvm/internal/Intrinsics.compare:(II)I
      17: istore_2
      18: iload_2
      19: ifeq          24
      22: iload_2
      23: ireturn
      24: aload_0
      25: invokevirtual #57                 // Method MyDate.getMonth:()I
      28: aload_1
      29: invokevirtual #57                 // Method MyDate.getMonth:()I
      32: invokestatic  #88                 // Method kotlin/jvm/internal/Intrinsics.compare:(II)I
      35: istore_3
      36: iload_3
      37: ifeq          42
      40: iload_3
      41: ireturn
      42: aload_0
      43: invokevirtual #46                 // Method MyDate.getDay:()I
      46: aload_1
      47: invokevirtual #46                 // Method MyDate.getDay:()I
      50: invokestatic  #88                 // Method kotlin/jvm/internal/Intrinsics.compare:(II)I
      53: ireturn

  public static void main(java.lang.String[]);
    Code:
       0: invokestatic  #95                 // Method main:()V
       3: return

  static {};
    Code:
       0: bipush        13
       2: anewarray     #66                 // class java/lang/Integer
       5: astore_0
       6: aload_0
       7: iconst_0
       8: iconst_0
       9: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      12: aastore
      13: aload_0
      14: iconst_1
      15: bipush        31
      17: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      20: aastore
      21: aload_0
      22: iconst_2
      23: bipush        28
      25: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      28: aastore
      29: aload_0
      30: iconst_3
      31: bipush        31
      33: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      36: aastore
      37: aload_0
      38: iconst_4
      39: bipush        30
      41: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      44: aastore
      45: aload_0
      46: iconst_5
      47: bipush        31
      49: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      52: aastore
      53: aload_0
      54: bipush        6
      56: bipush        30
      58: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      61: aastore
      62: aload_0
      63: bipush        7
      65: bipush        31
      67: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      70: aastore
      71: aload_0
      72: bipush        8
      74: bipush        31
      76: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      79: aastore
      80: aload_0
      81: bipush        9
      83: bipush        30
      85: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      88: aastore
      89: aload_0
      90: bipush        10
      92: bipush        31
      94: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      97: aastore
      98: aload_0
      99: bipush        11
     101: bipush        30
     103: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     106: aastore
     107: aload_0
     108: bipush        12
     110: bipush        31
     112: invokestatic  #80                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     115: aastore
     116: aload_0
     117: putstatic     #64                 // Field daysOfMonth:[Ljava/lang/Integer;
     120: return
}


import kotlin.math.pow

/**
 * Quadratic primes
 *
 * Euler discovered the remarkable quadratic formula: n^2 + n + 41
 *
 * It turns out that the formula will produce 40 primes for the consecutive integer values 0 <= n <= 39. However, when
 * is n = 40, 40^2 + 40 +41 = 40(40+1) + 41 divisible by 41, and certainly when n = 41, 41^2 + 41 + 41 is clearly
 * divisible by 41.
 *
 * The incredible formula n^2 - 79n + 1601 was discovered, which produces 80 primes for the consecutive values
 * 0 <= n <= 79. The product of the coefficients, −79 and 1601, is −126479.
 *
 * Considering quadratics of the form:
 *
 *      n ^2 + an + b, where |a| < 1000 and |b| <= 1000
 *      where |n| is the modulus/absolute value of n
 *      e.g. |11| = 11 and |-4| = 4
 *
 * Find the product of the coefficients, a and b, for the quadratic expression that produces the maximum number of
 * primes for consecutive values of n, starting with n = 0.
 *
 * https://projecteuler.net/problem=27
 */

fun main() {
    println(numOfPrimes(a = 1, b = 41))
    println(numOfPrimes(a = -79, b = 1601))
    println(quadraticPrimes())
}

private fun quadraticPrimes(): Int {
    var numOfPrimes = 0
    var abPair = 0 to 0
    for (a in -999 until 1_000) {
        for (b in -1_000..1_000) {
            val count = numOfPrimes(a, b)
            if (count > numOfPrimes) {
                numOfPrimes = count
                abPair = a to b
            }
        }
    }
    return abPair.first * abPair.second
}

private fun numOfPrimes(a: Int, b: Int): Int {
    var count = -1
    var n = -1
    do {
        count++
        n++
        val res = n.toDouble().pow(2.0) + (a * n) + b
    } while (isPrime(res.toLong()))
    return count
}

Compiled from "Problem27.kt"
public final class Problem27Kt {
  public static final void main();
    Code:
       0: iconst_1
       1: bipush        41
       3: invokestatic  #10                 // Method numOfPrimes:(II)I
       6: istore_0
       7: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
      10: iload_0
      11: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
      14: bipush        -79
      16: sipush        1601
      19: invokestatic  #10                 // Method numOfPrimes:(II)I
      22: istore_0
      23: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
      26: iload_0
      27: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
      30: invokestatic  #26                 // Method quadraticPrimes:()I
      33: istore_0
      34: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
      37: iload_0
      38: invokevirtual #22                 // Method java/io/PrintStream.println:(I)V
      41: return

  private static final int quadraticPrimes();
    Code:
       0: iconst_0
       1: istore_0
       2: iconst_0
       3: invokestatic  #32                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
       6: iconst_0
       7: invokestatic  #32                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      10: invokestatic  #38                 // Method kotlin/TuplesKt.to:(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
      13: astore_1
      14: sipush        -999
      17: istore_2
      18: iload_2
      19: sipush        1000
      22: if_icmpge     76
      25: sipush        -1000
      28: istore_3
      29: iload_3
      30: sipush        1001
      33: if_icmpge     70
      36: iload_2
      37: iload_3
      38: invokestatic  #10                 // Method numOfPrimes:(II)I
      41: istore        4
      43: iload         4
      45: iload_0
      46: if_icmple     64
      49: iload         4
      51: istore_0
      52: iload_2
      53: invokestatic  #32                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      56: iload_3
      57: invokestatic  #32                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      60: invokestatic  #38                 // Method kotlin/TuplesKt.to:(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
      63: astore_1
      64: iinc          3, 1
      67: goto          29
      70: iinc          2, 1
      73: goto          18
      76: aload_1
      77: invokevirtual #44                 // Method kotlin/Pair.getFirst:()Ljava/lang/Object;
      80: checkcast     #46                 // class java/lang/Number
      83: invokevirtual #49                 // Method java/lang/Number.intValue:()I
      86: aload_1
      87: invokevirtual #52                 // Method kotlin/Pair.getSecond:()Ljava/lang/Object;
      90: checkcast     #46                 // class java/lang/Number
      93: invokevirtual #49                 // Method java/lang/Number.intValue:()I
      96: imul
      97: ireturn

  private static final int numOfPrimes(int, int);
    Code:
       0: iconst_m1
       1: istore_2
       2: iconst_m1
       3: istore_3
       4: iinc          2, 1
       7: iinc          3, 1
      10: iload_3
      11: i2d
      12: ldc2_w        #59                 // double 2.0d
      15: invokestatic  #66                 // Method java/lang/Math.pow:(DD)D
      18: iload_0
      19: iload_3
      20: imul
      21: i2d
      22: dadd
      23: iload_1
      24: i2d
      25: dadd
      26: dstore        4
      28: dload         4
      30: d2l
      31: invokestatic  #72                 // Method Problem7Kt.isPrime:(J)Z
      34: ifne          4
      37: iload_2
      38: ireturn

  public static void main(java.lang.String[]);
    Code:
       0: invokestatic  #78                 // Method main:()V
       3: return
}


import kotlin.system.measureNanoTime

/**
 * Multiples of 3 or 5
 *
 * If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these
 * multiples is 23.
 *
 * Find the sum of all the multiples of 3 or 5 below 1000.
 *
 * https://projecteuler.net/problem=1
 */

fun main() {
    val max = 999
    val solution1Time = measureNanoTime {
        solution1(max)
    }
    val solution2Time = measureNanoTime {
        solution2(max)
    }

    println(solution1Time)
    println(solution2Time)
}

private fun solution1(limit: Int) {
    val res = (1 .. limit).asSequence()
        .filter { n -> n % 3 == 0 || n % 5 == 0 }
        .sum()
    println(res)
}

private fun solution2(limit: Int) {
    val res2 = sumDivisibleBy(3, limit) + sumDivisibleBy(5, limit) - sumDivisibleBy(15, limit)
    println(res2)
}

fun sumDivisibleBy(n: Int, max: Int): Int {
    // e.g. 3 + 6 + 9 + 12 + ... + 999 = 3 (1 + 2 + 3 + 4 + ... + 333)
    // 333 = 999 / 3 => p = max / n
    val p = max / n
    // 1 + 2 + 3 + 4 + ... + p = 1/2 * p * (p + 1)
    return (n * ( 0.5 * p * (p + 1))).toInt()
}

Compiled from "Problem1.kt"
public final class Problem1Kt {
  public static final void main();
    Code:
       0: sipush        999
       3: istore_0
       4: iconst_0
       5: istore_3
       6: invokestatic  #12                 // Method java/lang/System.nanoTime:()J
       9: lstore        4
      11: iconst_0
      12: istore        6
      14: iload_0
      15: invokestatic  #16                 // Method solution1:(I)V
      18: nop
      19: nop
      20: invokestatic  #12                 // Method java/lang/System.nanoTime:()J
      23: lload         4
      25: lsub
      26: lstore_1
      27: iconst_0
      28: istore        5
      30: invokestatic  #12                 // Method java/lang/System.nanoTime:()J
      33: lstore        6
      35: iconst_0
      36: istore        8
      38: iload_0
      39: invokestatic  #19                 // Method solution2:(I)V
      42: nop
      43: nop
      44: invokestatic  #12                 // Method java/lang/System.nanoTime:()J
      47: lload         6
      49: lsub
      50: lstore_3
      51: getstatic     #23                 // Field java/lang/System.out:Ljava/io/PrintStream;
      54: lload_1
      55: invokevirtual #29                 // Method java/io/PrintStream.println:(J)V
      58: getstatic     #23                 // Field java/lang/System.out:Ljava/io/PrintStream;
      61: lload_3
      62: invokevirtual #29                 // Method java/io/PrintStream.println:(J)V
      65: return

  private static final void solution1(int);
    Code:
       0: new           #40                 // class kotlin/ranges/IntRange
       3: dup
       4: iconst_1
       5: iload_0
       6: invokespecial #44                 // Method kotlin/ranges/IntRange."<init>":(II)V
       9: checkcast     #46                 // class java/lang/Iterable
      12: invokestatic  #52                 // Method kotlin/collections/CollectionsKt.asSequence:(Ljava/lang/Iterable;)Lkotlin/sequences/Sequence;
      15: invokedynamic #72,  0             // InvokeDynamic #0:invoke:()Lkotlin/jvm/functions/Function1;
      20: invokestatic  #78                 // Method kotlin/sequences/SequencesKt.filter:(Lkotlin/sequences/Sequence;Lkotlin/jvm/functions/Function1;)Lkotlin/sequences/Sequence;
      23: invokestatic  #82                 // Method kotlin/sequences/SequencesKt.sumOfInt:(Lkotlin/sequences/Sequence;)I
      26: istore_1
      27: getstatic     #23                 // Field java/lang/System.out:Ljava/io/PrintStream;
      30: iload_1
      31: invokevirtual #84                 // Method java/io/PrintStream.println:(I)V
      34: return

  private static final void solution2(int);
    Code:
       0: iconst_3
       1: iload_0
       2: invokestatic  #90                 // Method sumDivisibleBy:(II)I
       5: iconst_5
       6: iload_0
       7: invokestatic  #90                 // Method sumDivisibleBy:(II)I
      10: iadd
      11: bipush        15
      13: iload_0
      14: invokestatic  #90                 // Method sumDivisibleBy:(II)I
      17: isub
      18: istore_1
      19: getstatic     #23                 // Field java/lang/System.out:Ljava/io/PrintStream;
      22: iload_1
      23: invokevirtual #84                 // Method java/io/PrintStream.println:(I)V
      26: return

  public static final int sumDivisibleBy(int, int);
    Code:
       0: iload_1
       1: iload_0
       2: idiv
       3: istore_2
       4: iload_0
       5: i2d
       6: ldc2_w        #92                 // double 0.5d
       9: iload_2
      10: i2d
      11: dmul
      12: iload_2
      13: iconst_1
      14: iadd
      15: i2d
      16: dmul
      17: dmul
      18: d2i
      19: ireturn

  public static void main(java.lang.String[]);
    Code:
       0: invokestatic  #98                 // Method main:()V
       3: return

  private static final boolean solution1$lambda$2(int);
    Code:
       0: iload_0
       1: iconst_3
       2: irem
       3: ifeq          12
       6: iload_0
       7: iconst_5
       8: irem
       9: ifne          16
      12: iconst_1
      13: goto          17
      16: iconst_0
      17: ireturn
}


/**
 * By starting at the top of the triangle below and moving to adjacent numbers on the row below, the maximum total from
 * top to bottom is 23.
 *
 *    3
 *   7 4
 *  2 4 6
 * 8 5 9 3
 *
 * That is, 3 + 7 + 4 + 9 = 23.
 *
 * Find the maximum total from top to bottom of the triangle below:
 *
 *                             75
 *                           95 64
 *                         17 47 82
 *                       18 35 87 10
 *                     20 04 82 47 65
 *                   19 01 23 75 03 34
 *                 88 02 77 73 07 63 67
 *               99 65 04 28 06 16 70 92
 *             41 41 26 56 83 40 80 70 33
 *           41 48 72 33 47 32 37 16 94 29
 *         53 71 44 65 25 43 91 52 97 51 14
 *       70 11 33 28 77 73 17 78 39 68 17 57
 *     91 71 52 38 17 14 91 43 58 50 27 29 48
 *   63 66 04 68 89 53 67 30 73 16 69 87 40 31
 * 04 62 98 27 23 09 70 98 73 93 38 53 60 04 23
 *
 * NOTE: As there are only 16384 routes, it is possible to solve this problem by trying every route.
 * However, Problem 67, is the same challenge with a triangle containing one-hundred rows; it cannot be solved by brute
 * force, and requires a clever method! ;o)
 *
 * https://projecteuler.net/problem=18
 */
fun main() {
    println(maxSum(smallTriangle, level = 0, pos = 0))
    cache.clear()
    println(maxSum(triangle, level = 0, pos = 0))
}

private val cache = mutableMapOf<Pair<Int, Int>, Long>()
fun maxSum(triangle: List<List<Int>>, level: Int, pos: Int): Long {
    if (level == triangle.size || pos == triangle[level].size) {
        return 0
    }

    if (cache.containsKey(level to pos)) {
        return cache[level to pos]!!
    }

    val sum = maxOf(
        maxSum(triangle, level = level + 1, pos),
        maxSum(triangle, level = level + 1, pos + 1)
    ) + triangle[level][pos]
    cache[level to pos] = sum
    return sum
}

private val smallTriangle = listOf(
    listOf(3),
    listOf(7, 4),
    listOf(2, 4, 6),
    listOf(8, 5, 9, 3),
)

private val triangle = listOf(
    listOf(75),
    listOf(95, 64),
    listOf(17, 47, 82),
    listOf(18, 35, 87, 10),
    listOf(20, 4, 82, 47, 65),
    listOf(19, 1, 23, 75, 3, 34),
    listOf(88, 2, 77, 73, 7, 63, 67),
    listOf(99, 65, 4, 28, 6, 16, 70, 92),
    listOf(41, 41, 26, 56, 83, 40, 80, 70, 33),
    listOf(41, 48, 72, 33, 47, 32, 37, 16, 94, 29),
    listOf(53, 71, 44, 65, 25, 43, 91, 52, 97, 51, 14),
    listOf(70, 11, 33, 28, 77, 73, 17, 78, 39, 68, 17, 57),
    listOf(91, 71, 52, 38, 17, 14, 91, 43, 58, 50, 27, 29, 48),
    listOf(63, 66, 4, 68, 89, 53, 67, 30, 73, 16, 69, 87, 40, 31),
    listOf(4, 62, 98, 27, 23, 9, 70, 98, 73, 93, 38, 53, 60, 4, 23),
)

Compiled from "Problem18.kt"
public final class Problem18Kt {
  private static final java.util.Map<kotlin.Pair<java.lang.Integer, java.lang.Integer>, java.lang.Long> cache;

  private static final java.util.List<java.util.List<java.lang.Integer>> smallTriangle;

  private static final java.util.List<java.util.List<java.lang.Integer>> triangle;

  public static final void main();
    Code:
       0: getstatic     #10                 // Field smallTriangle:Ljava/util/List;
       3: iconst_0
       4: iconst_0
       5: invokestatic  #14                 // Method maxSum:(Ljava/util/List;II)J
       8: lstore_0
       9: getstatic     #20                 // Field java/lang/System.out:Ljava/io/PrintStream;
      12: lload_0
      13: invokevirtual #26                 // Method java/io/PrintStream.println:(J)V
      16: getstatic     #30                 // Field cache:Ljava/util/Map;
      19: invokeinterface #35,  1           // InterfaceMethod java/util/Map.clear:()V
      24: getstatic     #38                 // Field triangle:Ljava/util/List;
      27: iconst_0
      28: iconst_0
      29: invokestatic  #14                 // Method maxSum:(Ljava/util/List;II)J
      32: lstore_0
      33: getstatic     #20                 // Field java/lang/System.out:Ljava/io/PrintStream;
      36: lload_0
      37: invokevirtual #26                 // Method java/io/PrintStream.println:(J)V
      40: return

  public static final long maxSum(java.util.List<? extends java.util.List<java.lang.Integer>>, int, int);
    Code:
       0: aload_0
       1: ldc           #41                 // String triangle
       3: invokestatic  #47                 // Method kotlin/jvm/internal/Intrinsics.checkNotNullParameter:(Ljava/lang/Object;Ljava/lang/String;)V
       6: iload_1
       7: aload_0
       8: invokeinterface #53,  1           // InterfaceMethod java/util/List.size:()I
      13: if_icmpeq     35
      16: iload_2
      17: aload_0
      18: iload_1
      19: invokeinterface #57,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      24: checkcast     #49                 // class java/util/List
      27: invokeinterface #53,  1           // InterfaceMethod java/util/List.size:()I
      32: if_icmpne     37
      35: lconst_0
      36: lreturn
      37: getstatic     #30                 // Field cache:Ljava/util/Map;
      40: iload_1
      41: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      44: iload_2
      45: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      48: invokestatic  #69                 // Method kotlin/TuplesKt.to:(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
      51: invokeinterface #73,  2           // InterfaceMethod java/util/Map.containsKey:(Ljava/lang/Object;)Z
      56: ifeq          89
      59: getstatic     #30                 // Field cache:Ljava/util/Map;
      62: iload_1
      63: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      66: iload_2
      67: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      70: invokestatic  #69                 // Method kotlin/TuplesKt.to:(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
      73: invokeinterface #76,  2           // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
      78: dup
      79: invokestatic  #80                 // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
      82: checkcast     #82                 // class java/lang/Number
      85: invokevirtual #86                 // Method java/lang/Number.longValue:()J
      88: lreturn
      89: nop
      90: aload_0
      91: iload_1
      92: iconst_1
      93: iadd
      94: iload_2
      95: invokestatic  #14                 // Method maxSum:(Ljava/util/List;II)J
      98: aload_0
      99: iload_1
     100: iconst_1
     101: iadd
     102: iload_2
     103: iconst_1
     104: iadd
     105: invokestatic  #14                 // Method maxSum:(Ljava/util/List;II)J
     108: invokestatic  #92                 // Method java/lang/Math.max:(JJ)J
     111: aload_0
     112: iload_1
     113: invokeinterface #57,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     118: checkcast     #49                 // class java/util/List
     121: iload_2
     122: invokeinterface #57,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     127: checkcast     #82                 // class java/lang/Number
     130: invokevirtual #86                 // Method java/lang/Number.longValue:()J
     133: ladd
     134: lstore_3
     135: lload_3
     136: invokestatic  #97                 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long;
     139: astore        5
     141: getstatic     #30                 // Field cache:Ljava/util/Map;
     144: iload_1
     145: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     148: iload_2
     149: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     152: invokestatic  #69                 // Method kotlin/TuplesKt.to:(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
     155: aload         5
     157: invokeinterface #101,  3          // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
     162: pop
     163: lload_3
     164: lreturn

  public static void main(java.lang.String[]);
    Code:
       0: invokestatic  #109                // Method main:()V
       3: return

  static {};
    Code:
       0: new           #114                // class java/util/LinkedHashMap
       3: dup
       4: invokespecial #117                // Method java/util/LinkedHashMap."<init>":()V
       7: checkcast     #32                 // class java/util/Map
      10: putstatic     #30                 // Field cache:Ljava/util/Map;
      13: iconst_4
      14: anewarray     #49                 // class java/util/List
      17: astore_0
      18: aload_0
      19: iconst_0
      20: iconst_3
      21: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      24: invokestatic  #123                // Method kotlin/collections/CollectionsKt.listOf:(Ljava/lang/Object;)Ljava/util/List;
      27: aastore
      28: aload_0
      29: iconst_1
      30: iconst_2
      31: anewarray     #59                 // class java/lang/Integer
      34: astore_1
      35: aload_1
      36: iconst_0
      37: bipush        7
      39: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      42: aastore
      43: aload_1
      44: iconst_1
      45: iconst_4
      46: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      49: aastore
      50: aload_1
      51: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
      54: aastore
      55: aload_0
      56: iconst_2
      57: iconst_3
      58: anewarray     #59                 // class java/lang/Integer
      61: astore_1
      62: aload_1
      63: iconst_0
      64: iconst_2
      65: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      68: aastore
      69: aload_1
      70: iconst_1
      71: iconst_4
      72: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      75: aastore
      76: aload_1
      77: iconst_2
      78: bipush        6
      80: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      83: aastore
      84: aload_1
      85: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
      88: aastore
      89: aload_0
      90: iconst_3
      91: iconst_4
      92: anewarray     #59                 // class java/lang/Integer
      95: astore_1
      96: aload_1
      97: iconst_0
      98: bipush        8
     100: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     103: aastore
     104: aload_1
     105: iconst_1
     106: iconst_5
     107: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     110: aastore
     111: aload_1
     112: iconst_2
     113: bipush        9
     115: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     118: aastore
     119: aload_1
     120: iconst_3
     121: iconst_3
     122: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     125: aastore
     126: aload_1
     127: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     130: aastore
     131: aload_0
     132: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     135: putstatic     #10                 // Field smallTriangle:Ljava/util/List;
     138: bipush        15
     140: anewarray     #49                 // class java/util/List
     143: astore_0
     144: aload_0
     145: iconst_0
     146: bipush        75
     148: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     151: invokestatic  #123                // Method kotlin/collections/CollectionsKt.listOf:(Ljava/lang/Object;)Ljava/util/List;
     154: aastore
     155: aload_0
     156: iconst_1
     157: iconst_2
     158: anewarray     #59                 // class java/lang/Integer
     161: astore_1
     162: aload_1
     163: iconst_0
     164: bipush        95
     166: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     169: aastore
     170: aload_1
     171: iconst_1
     172: bipush        64
     174: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     177: aastore
     178: aload_1
     179: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     182: aastore
     183: aload_0
     184: iconst_2
     185: iconst_3
     186: anewarray     #59                 // class java/lang/Integer
     189: astore_1
     190: aload_1
     191: iconst_0
     192: bipush        17
     194: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     197: aastore
     198: aload_1
     199: iconst_1
     200: bipush        47
     202: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     205: aastore
     206: aload_1
     207: iconst_2
     208: bipush        82
     210: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     213: aastore
     214: aload_1
     215: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     218: aastore
     219: aload_0
     220: iconst_3
     221: iconst_4
     222: anewarray     #59                 // class java/lang/Integer
     225: astore_1
     226: aload_1
     227: iconst_0
     228: bipush        18
     230: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     233: aastore
     234: aload_1
     235: iconst_1
     236: bipush        35
     238: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     241: aastore
     242: aload_1
     243: iconst_2
     244: bipush        87
     246: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     249: aastore
     250: aload_1
     251: iconst_3
     252: bipush        10
     254: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     257: aastore
     258: aload_1
     259: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     262: aastore
     263: aload_0
     264: iconst_4
     265: iconst_5
     266: anewarray     #59                 // class java/lang/Integer
     269: astore_1
     270: aload_1
     271: iconst_0
     272: bipush        20
     274: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     277: aastore
     278: aload_1
     279: iconst_1
     280: iconst_4
     281: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     284: aastore
     285: aload_1
     286: iconst_2
     287: bipush        82
     289: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     292: aastore
     293: aload_1
     294: iconst_3
     295: bipush        47
     297: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     300: aastore
     301: aload_1
     302: iconst_4
     303: bipush        65
     305: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     308: aastore
     309: aload_1
     310: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     313: aastore
     314: aload_0
     315: iconst_5
     316: bipush        6
     318: anewarray     #59                 // class java/lang/Integer
     321: astore_1
     322: aload_1
     323: iconst_0
     324: bipush        19
     326: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     329: aastore
     330: aload_1
     331: iconst_1
     332: iconst_1
     333: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     336: aastore
     337: aload_1
     338: iconst_2
     339: bipush        23
     341: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     344: aastore
     345: aload_1
     346: iconst_3
     347: bipush        75
     349: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     352: aastore
     353: aload_1
     354: iconst_4
     355: iconst_3
     356: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     359: aastore
     360: aload_1
     361: iconst_5
     362: bipush        34
     364: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     367: aastore
     368: aload_1
     369: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     372: aastore
     373: aload_0
     374: bipush        6
     376: bipush        7
     378: anewarray     #59                 // class java/lang/Integer
     381: astore_1
     382: aload_1
     383: iconst_0
     384: bipush        88
     386: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     389: aastore
     390: aload_1
     391: iconst_1
     392: iconst_2
     393: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     396: aastore
     397: aload_1
     398: iconst_2
     399: bipush        77
     401: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     404: aastore
     405: aload_1
     406: iconst_3
     407: bipush        73
     409: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     412: aastore
     413: aload_1
     414: iconst_4
     415: bipush        7
     417: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     420: aastore
     421: aload_1
     422: iconst_5
     423: bipush        63
     425: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     428: aastore
     429: aload_1
     430: bipush        6
     432: bipush        67
     434: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     437: aastore
     438: aload_1
     439: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     442: aastore
     443: aload_0
     444: bipush        7
     446: bipush        8
     448: anewarray     #59                 // class java/lang/Integer
     451: astore_1
     452: aload_1
     453: iconst_0
     454: bipush        99
     456: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     459: aastore
     460: aload_1
     461: iconst_1
     462: bipush        65
     464: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     467: aastore
     468: aload_1
     469: iconst_2
     470: iconst_4
     471: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     474: aastore
     475: aload_1
     476: iconst_3
     477: bipush        28
     479: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     482: aastore
     483: aload_1
     484: iconst_4
     485: bipush        6
     487: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     490: aastore
     491: aload_1
     492: iconst_5
     493: bipush        16
     495: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     498: aastore
     499: aload_1
     500: bipush        6
     502: bipush        70
     504: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     507: aastore
     508: aload_1
     509: bipush        7
     511: bipush        92
     513: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     516: aastore
     517: aload_1
     518: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     521: aastore
     522: aload_0
     523: bipush        8
     525: bipush        9
     527: anewarray     #59                 // class java/lang/Integer
     530: astore_1
     531: aload_1
     532: iconst_0
     533: bipush        41
     535: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     538: aastore
     539: aload_1
     540: iconst_1
     541: bipush        41
     543: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     546: aastore
     547: aload_1
     548: iconst_2
     549: bipush        26
     551: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     554: aastore
     555: aload_1
     556: iconst_3
     557: bipush        56
     559: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     562: aastore
     563: aload_1
     564: iconst_4
     565: bipush        83
     567: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     570: aastore
     571: aload_1
     572: iconst_5
     573: bipush        40
     575: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     578: aastore
     579: aload_1
     580: bipush        6
     582: bipush        80
     584: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     587: aastore
     588: aload_1
     589: bipush        7
     591: bipush        70
     593: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     596: aastore
     597: aload_1
     598: bipush        8
     600: bipush        33
     602: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     605: aastore
     606: aload_1
     607: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     610: aastore
     611: aload_0
     612: bipush        9
     614: bipush        10
     616: anewarray     #59                 // class java/lang/Integer
     619: astore_1
     620: aload_1
     621: iconst_0
     622: bipush        41
     624: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     627: aastore
     628: aload_1
     629: iconst_1
     630: bipush        48
     632: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     635: aastore
     636: aload_1
     637: iconst_2
     638: bipush        72
     640: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     643: aastore
     644: aload_1
     645: iconst_3
     646: bipush        33
     648: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     651: aastore
     652: aload_1
     653: iconst_4
     654: bipush        47
     656: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     659: aastore
     660: aload_1
     661: iconst_5
     662: bipush        32
     664: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     667: aastore
     668: aload_1
     669: bipush        6
     671: bipush        37
     673: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     676: aastore
     677: aload_1
     678: bipush        7
     680: bipush        16
     682: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     685: aastore
     686: aload_1
     687: bipush        8
     689: bipush        94
     691: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     694: aastore
     695: aload_1
     696: bipush        9
     698: bipush        29
     700: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     703: aastore
     704: aload_1
     705: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     708: aastore
     709: aload_0
     710: bipush        10
     712: bipush        11
     714: anewarray     #59                 // class java/lang/Integer
     717: astore_1
     718: aload_1
     719: iconst_0
     720: bipush        53
     722: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     725: aastore
     726: aload_1
     727: iconst_1
     728: bipush        71
     730: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     733: aastore
     734: aload_1
     735: iconst_2
     736: bipush        44
     738: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     741: aastore
     742: aload_1
     743: iconst_3
     744: bipush        65
     746: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     749: aastore
     750: aload_1
     751: iconst_4
     752: bipush        25
     754: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     757: aastore
     758: aload_1
     759: iconst_5
     760: bipush        43
     762: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     765: aastore
     766: aload_1
     767: bipush        6
     769: bipush        91
     771: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     774: aastore
     775: aload_1
     776: bipush        7
     778: bipush        52
     780: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     783: aastore
     784: aload_1
     785: bipush        8
     787: bipush        97
     789: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     792: aastore
     793: aload_1
     794: bipush        9
     796: bipush        51
     798: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     801: aastore
     802: aload_1
     803: bipush        10
     805: bipush        14
     807: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     810: aastore
     811: aload_1
     812: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     815: aastore
     816: aload_0
     817: bipush        11
     819: bipush        12
     821: anewarray     #59                 // class java/lang/Integer
     824: astore_1
     825: aload_1
     826: iconst_0
     827: bipush        70
     829: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     832: aastore
     833: aload_1
     834: iconst_1
     835: bipush        11
     837: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     840: aastore
     841: aload_1
     842: iconst_2
     843: bipush        33
     845: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     848: aastore
     849: aload_1
     850: iconst_3
     851: bipush        28
     853: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     856: aastore
     857: aload_1
     858: iconst_4
     859: bipush        77
     861: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     864: aastore
     865: aload_1
     866: iconst_5
     867: bipush        73
     869: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     872: aastore
     873: aload_1
     874: bipush        6
     876: bipush        17
     878: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     881: aastore
     882: aload_1
     883: bipush        7
     885: bipush        78
     887: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     890: aastore
     891: aload_1
     892: bipush        8
     894: bipush        39
     896: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     899: aastore
     900: aload_1
     901: bipush        9
     903: bipush        68
     905: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     908: aastore
     909: aload_1
     910: bipush        10
     912: bipush        17
     914: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     917: aastore
     918: aload_1
     919: bipush        11
     921: bipush        57
     923: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     926: aastore
     927: aload_1
     928: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     931: aastore
     932: aload_0
     933: bipush        12
     935: bipush        13
     937: anewarray     #59                 // class java/lang/Integer
     940: astore_1
     941: aload_1
     942: iconst_0
     943: bipush        91
     945: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     948: aastore
     949: aload_1
     950: iconst_1
     951: bipush        71
     953: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     956: aastore
     957: aload_1
     958: iconst_2
     959: bipush        52
     961: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     964: aastore
     965: aload_1
     966: iconst_3
     967: bipush        38
     969: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     972: aastore
     973: aload_1
     974: iconst_4
     975: bipush        17
     977: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     980: aastore
     981: aload_1
     982: iconst_5
     983: bipush        14
     985: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     988: aastore
     989: aload_1
     990: bipush        6
     992: bipush        91
     994: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     997: aastore
     998: aload_1
     999: bipush        7
    1001: bipush        43
    1003: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1006: aastore
    1007: aload_1
    1008: bipush        8
    1010: bipush        58
    1012: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1015: aastore
    1016: aload_1
    1017: bipush        9
    1019: bipush        50
    1021: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1024: aastore
    1025: aload_1
    1026: bipush        10
    1028: bipush        27
    1030: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1033: aastore
    1034: aload_1
    1035: bipush        11
    1037: bipush        29
    1039: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1042: aastore
    1043: aload_1
    1044: bipush        12
    1046: bipush        48
    1048: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1051: aastore
    1052: aload_1
    1053: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
    1056: aastore
    1057: aload_0
    1058: bipush        13
    1060: bipush        14
    1062: anewarray     #59                 // class java/lang/Integer
    1065: astore_1
    1066: aload_1
    1067: iconst_0
    1068: bipush        63
    1070: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1073: aastore
    1074: aload_1
    1075: iconst_1
    1076: bipush        66
    1078: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1081: aastore
    1082: aload_1
    1083: iconst_2
    1084: iconst_4
    1085: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1088: aastore
    1089: aload_1
    1090: iconst_3
    1091: bipush        68
    1093: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1096: aastore
    1097: aload_1
    1098: iconst_4
    1099: bipush        89
    1101: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1104: aastore
    1105: aload_1
    1106: iconst_5
    1107: bipush        53
    1109: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1112: aastore
    1113: aload_1
    1114: bipush        6
    1116: bipush        67
    1118: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1121: aastore
    1122: aload_1
    1123: bipush        7
    1125: bipush        30
    1127: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1130: aastore
    1131: aload_1
    1132: bipush        8
    1134: bipush        73
    1136: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1139: aastore
    1140: aload_1
    1141: bipush        9
    1143: bipush        16
    1145: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1148: aastore
    1149: aload_1
    1150: bipush        10
    1152: bipush        69
    1154: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1157: aastore
    1158: aload_1
    1159: bipush        11
    1161: bipush        87
    1163: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1166: aastore
    1167: aload_1
    1168: bipush        12
    1170: bipush        40
    1172: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1175: aastore
    1176: aload_1
    1177: bipush        13
    1179: bipush        31
    1181: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1184: aastore
    1185: aload_1
    1186: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
    1189: aastore
    1190: aload_0
    1191: bipush        14
    1193: bipush        15
    1195: anewarray     #59                 // class java/lang/Integer
    1198: astore_1
    1199: aload_1
    1200: iconst_0
    1201: iconst_4
    1202: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1205: aastore
    1206: aload_1
    1207: iconst_1
    1208: bipush        62
    1210: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1213: aastore
    1214: aload_1
    1215: iconst_2
    1216: bipush        98
    1218: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1221: aastore
    1222: aload_1
    1223: iconst_3
    1224: bipush        27
    1226: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1229: aastore
    1230: aload_1
    1231: iconst_4
    1232: bipush        23
    1234: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1237: aastore
    1238: aload_1
    1239: iconst_5
    1240: bipush        9
    1242: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1245: aastore
    1246: aload_1
    1247: bipush        6
    1249: bipush        70
    1251: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1254: aastore
    1255: aload_1
    1256: bipush        7
    1258: bipush        98
    1260: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1263: aastore
    1264: aload_1
    1265: bipush        8
    1267: bipush        73
    1269: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1272: aastore
    1273: aload_1
    1274: bipush        9
    1276: bipush        93
    1278: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1281: aastore
    1282: aload_1
    1283: bipush        10
    1285: bipush        38
    1287: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1290: aastore
    1291: aload_1
    1292: bipush        11
    1294: bipush        53
    1296: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1299: aastore
    1300: aload_1
    1301: bipush        12
    1303: bipush        60
    1305: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1308: aastore
    1309: aload_1
    1310: bipush        13
    1312: iconst_4
    1313: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1316: aastore
    1317: aload_1
    1318: bipush        14
    1320: bipush        23
    1322: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1325: aastore
    1326: aload_1
    1327: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
    1330: aastore
    1331: aload_0
    1332: invokestatic  #126                // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
    1335: putstatic     #38                 // Field triangle:Ljava/util/List;
    1338: return
}