package workshops.moscow_prefinals2020.day3

private typealias State = Int

private fun solve() {
	val (hei, wid) = readInts()
	val field = List(hei) { readLn().toCharArray() }

	val state = IntArray(hei) { -1 }
	fun arrayToInt(): Int {
		var m = 0
		for (i in 0 until hei) {
			val bits = state[i] and 15
			m = m or (bits shl (4 * i))
		}
		return m
	}
	fun intToArray(m: Int) {
		for (i in 0 until hei) {
			val bits = (m shr (4 * i)) and 15
			state[i] = if (bits == 15) -1 else bits
		}
	}

	while (true) {
		var improved = false
		for (y1 in 0 until hei) for (y2 in listOf(y1 - 1, y1 + 1)) if (y2 in 0 until hei) {
			for (x1 in 0 until wid) for (x2 in listOf(x1 - 1, x1 + 1)) if (x2 in 0 until wid) {
				for (spread in listOf("ce", "ec")) {
					if ("" + field[y1][x1] + field[y1][x2] + field[y2][x1] == spread + spread[1]) {
						if (field[y2][x2] == spread[0]) return println(-1)
						if (field[y2][x2] == '.') improved = true
						field[y2][x2] = spread[1]
					}
				}
			}
		}
		if (!improved) break
	}

	val init: State = arrayToInt()
	var a = mapOf(init to 0)
	val inf = hei * wid * 5
	var ans = inf
	val future = List(hei) { BooleanArray(wid) }
	var moreC = false
	for (x in wid - 1 downTo 0) for (y in hei - 1 downTo 0) {
		future[y][x] = moreC
		moreC = moreC || field[y][x] == 'c'
	}
	for (x in 0 until wid) for (y in 0 until hei) {
		val b = mutableMapOf<State, Int>()
		val mayTake = (0..1).filter { field[y][x] != "ce"[it] }
		for ((stateInt, perimeter) in a) for (take in mayTake) {
			intToArray(stateInt)
			val left = state[y]
			val up = state.getOrElse(y - 1) { -1 }
			val leftWall = if (left >= 0) 1 else 0
			val upWall = if (up >= 0) 1 else 0
			val newPerimeter = perimeter + if (take == 0) 0 else 4 - 2 * leftWall - 2 * upWall
			var bad = false
			if (take == 0) {
				state[y] = -1
				bad = (left >= 0) && !state.contains(left)
				if (bad) {
					if (state.maxOrNull() == -1 && !future[y][x]) ans = minOf(ans, newPerimeter)
				}
			} else {
				when (listOf(left, up).count { it == -1 }) {
					2 -> state[y] = hei
					1 -> {
						state[y] = maxOf(left, up)
						if (left == -1 && y + 1 < hei && state[y + 1] == up) bad = true
					}
					0 -> {
						state[y] = up
						state.indices.forEach { if (state[it] == left) state[it] = up }
					}
				}
			}
			if (bad) continue
			val repaint = mutableMapOf<Int, Int>()
			for (i in state.indices) {
				val c = state[i]
				if (c == -1) continue
				if (c !in repaint.keys) repaint[c] = repaint.size
				state[i] = repaint[c]!!
			}
			val newStateInt = arrayToInt()
			b[newStateInt] = minOf(b.getOrDefault(newStateInt, inf), newPerimeter)
		}
		a = b
	}
	ans = minOf(ans, a.filter { intToArray(it.key); state.maxOrNull()!! <= 0 }.values.minOrNull() ?: inf)
	println(if (ans < inf) ans else -1)
}

fun main() = repeat(readInt()) { solve() }

private fun readLn() = readLine()!!
private fun readInt() = readLn().toInt()
private fun readStrings() = readLn().split(" ")
private fun readInts() = readStrings().map { it.toInt() }

Compiled from "e.kt"
public final class workshops.moscow_prefinals2020.day3.EKt {
  private static final void solve();
    Code:
       0: invokestatic  #10                 // Method readInts:()Ljava/util/List;
       3: astore_0
       4: aload_0
       5: iconst_0
       6: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      11: checkcast     #18                 // class java/lang/Number
      14: invokevirtual #22                 // Method java/lang/Number.intValue:()I
      17: istore_1
      18: aload_0
      19: iconst_1
      20: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      25: checkcast     #18                 // class java/lang/Number
      28: invokevirtual #22                 // Method java/lang/Number.intValue:()I
      31: istore_2
      32: new           #24                 // class java/util/ArrayList
      35: dup
      36: iload_1
      37: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
      40: astore        4
      42: iconst_0
      43: istore        5
      45: iload         5
      47: iload_1
      48: if_icmpge     92
      51: iload         5
      53: istore        6
      55: aload         4
      57: iload         6
      59: istore        7
      61: astore        35
      63: iconst_0
      64: istore        8
      66: invokestatic  #32                 // Method readLn:()Ljava/lang/String;
      69: invokevirtual #38                 // Method java/lang/String.toCharArray:()[C
      72: dup
      73: ldc           #40                 // String toCharArray(...)
      75: invokestatic  #46                 // Method kotlin/jvm/internal/Intrinsics.checkNotNullExpressionValue:(Ljava/lang/Object;Ljava/lang/String;)V
      78: nop
      79: aload         35
      81: swap
      82: invokevirtual #50                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
      85: pop
      86: iinc          5, 1
      89: goto          45
      92: aload         4
      94: checkcast     #12                 // class java/util/List
      97: astore_3
      98: iconst_0
      99: istore        5
     101: iload_1
     102: newarray       int
     104: astore        6
     106: iload         5
     108: iload_1
     109: if_icmpge     128
     112: iload         5
     114: istore        7
     116: aload         6
     118: iload         7
     120: iconst_m1
     121: iastore
     122: iinc          5, 1
     125: goto          106
     128: aload         6
     130: astore        4
     132: nop
     133: iconst_0
     134: istore        5
     136: iconst_0
     137: istore        6
     139: iload         6
     141: iload_1
     142: if_icmpge     572
     145: iconst_2
     146: anewarray     #52                 // class java/lang/Integer
     149: astore        8
     151: aload         8
     153: iconst_0
     154: iload         6
     156: iconst_1
     157: isub
     158: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     161: aastore
     162: aload         8
     164: iconst_1
     165: iload         6
     167: iconst_1
     168: iadd
     169: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     172: aastore
     173: aload         8
     175: invokestatic  #62                 // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     178: invokeinterface #66,  1           // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
     183: astore        7
     185: aload         7
     187: invokeinterface #72,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     192: ifeq          566
     195: aload         7
     197: invokeinterface #76,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     202: checkcast     #18                 // class java/lang/Number
     205: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     208: istore        8
     210: iconst_0
     211: iload         8
     213: if_icmpgt     230
     216: iload         8
     218: iload_1
     219: if_icmpge     226
     222: iconst_1
     223: goto          231
     226: iconst_0
     227: goto          231
     230: iconst_0
     231: ifeq          185
     234: iconst_0
     235: istore        9
     237: iload         9
     239: iload_2
     240: if_icmpge     185
     243: iconst_2
     244: anewarray     #52                 // class java/lang/Integer
     247: astore        11
     249: aload         11
     251: iconst_0
     252: iload         9
     254: iconst_1
     255: isub
     256: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     259: aastore
     260: aload         11
     262: iconst_1
     263: iload         9
     265: iconst_1
     266: iadd
     267: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     270: aastore
     271: aload         11
     273: invokestatic  #62                 // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     276: invokeinterface #66,  1           // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
     281: astore        10
     283: aload         10
     285: invokeinterface #72,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     290: ifeq          560
     293: aload         10
     295: invokeinterface #76,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     300: checkcast     #18                 // class java/lang/Number
     303: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     306: istore        11
     308: iconst_0
     309: iload         11
     311: if_icmpgt     328
     314: iload         11
     316: iload_2
     317: if_icmpge     324
     320: iconst_1
     321: goto          329
     324: iconst_0
     325: goto          329
     328: iconst_0
     329: ifeq          283
     332: iconst_2
     333: anewarray     #34                 // class java/lang/String
     336: astore        13
     338: aload         13
     340: iconst_0
     341: ldc           #78                 // String ce
     343: aastore
     344: aload         13
     346: iconst_1
     347: ldc           #80                 // String ec
     349: aastore
     350: aload         13
     352: invokestatic  #62                 // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
     355: invokeinterface #66,  1           // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
     360: astore        12
     362: aload         12
     364: invokeinterface #72,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     369: ifeq          283
     372: aload         12
     374: invokeinterface #76,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     379: checkcast     #34                 // class java/lang/String
     382: astore        13
     384: new           #82                 // class java/lang/StringBuilder
     387: dup
     388: invokespecial #84                 // Method java/lang/StringBuilder."<init>":()V
     391: ldc           #86                 // String
     393: invokevirtual #90                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
     396: aload_3
     397: iload         6
     399: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     404: checkcast     #92                 // class "[C"
     407: iload         9
     409: caload
     410: invokevirtual #95                 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder;
     413: aload_3
     414: iload         6
     416: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     421: checkcast     #92                 // class "[C"
     424: iload         11
     426: caload
     427: invokevirtual #95                 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder;
     430: aload_3
     431: iload         8
     433: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     438: checkcast     #92                 // class "[C"
     441: iload         9
     443: caload
     444: invokevirtual #95                 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder;
     447: invokevirtual #98                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
     450: new           #82                 // class java/lang/StringBuilder
     453: dup
     454: invokespecial #84                 // Method java/lang/StringBuilder."<init>":()V
     457: aload         13
     459: invokevirtual #90                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
     462: aload         13
     464: iconst_1
     465: invokevirtual #102                // Method java/lang/String.charAt:(I)C
     468: invokevirtual #95                 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder;
     471: invokevirtual #98                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
     474: invokestatic  #106                // Method kotlin/jvm/internal/Intrinsics.areEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
     477: ifeq          362
     480: aload_3
     481: iload         8
     483: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     488: checkcast     #92                 // class "[C"
     491: iload         11
     493: caload
     494: aload         13
     496: iconst_0
     497: invokevirtual #102                // Method java/lang/String.charAt:(I)C
     500: if_icmpne     515
     503: iconst_m1
     504: istore        14
     506: getstatic     #112                // Field java/lang/System.out:Ljava/io/PrintStream;
     509: iload         14
     511: invokevirtual #117                // Method java/io/PrintStream.println:(I)V
     514: return
     515: aload_3
     516: iload         8
     518: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     523: checkcast     #92                 // class "[C"
     526: iload         11
     528: caload
     529: bipush        46
     531: if_icmpne     537
     534: iconst_1
     535: istore        5
     537: aload_3
     538: iload         8
     540: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     545: checkcast     #92                 // class "[C"
     548: iload         11
     550: aload         13
     552: iconst_1
     553: invokevirtual #102                // Method java/lang/String.charAt:(I)C
     556: castore
     557: goto          362
     560: iinc          9, 1
     563: goto          237
     566: iinc          6, 1
     569: goto          139
     572: iload         5
     574: ifne          132
     577: goto          580
     580: iload_1
     581: aload         4
     583: invokestatic  #121                // Method solve$arrayToInt:(I[I)I
     586: istore        5
     588: iload         5
     590: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     593: iconst_0
     594: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     597: invokestatic  #127                // Method kotlin/TuplesKt.to:(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
     600: invokestatic  #133                // Method kotlin/collections/MapsKt.mapOf:(Lkotlin/Pair;)Ljava/util/Map;
     603: astore        6
     605: iload_1
     606: iload_2
     607: imul
     608: iconst_5
     609: imul
     610: istore        7
     612: iload         7
     614: istore        8
     616: new           #24                 // class java/util/ArrayList
     619: dup
     620: iload_1
     621: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
     624: astore        10
     626: iconst_0
     627: istore        11
     629: iload         11
     631: iload_1
     632: if_icmpge     666
     635: iload         11
     637: istore        12
     639: aload         10
     641: iload         12
     643: istore        13
     645: astore        35
     647: iconst_0
     648: istore        14
     650: iload_2
     651: newarray       boolean
     653: aload         35
     655: swap
     656: invokevirtual #50                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
     659: pop
     660: iinc          11, 1
     663: goto          629
     666: aload         10
     668: checkcast     #12                 // class java/util/List
     671: astore        9
     673: iconst_0
     674: istore        10
     676: iload_2
     677: iconst_1
     678: isub
     679: istore        11
     681: iconst_m1
     682: iload         11
     684: if_icmpge     758
     687: iload_1
     688: iconst_1
     689: isub
     690: istore        12
     692: iconst_m1
     693: iload         12
     695: if_icmpge     752
     698: aload         9
     700: iload         12
     702: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     707: checkcast     #135                // class "[Z"
     710: iload         11
     712: iload         10
     714: bastore
     715: iload         10
     717: ifne          739
     720: aload_3
     721: iload         12
     723: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     728: checkcast     #92                 // class "[C"
     731: iload         11
     733: caload
     734: bipush        99
     736: if_icmpne     743
     739: iconst_1
     740: goto          744
     743: iconst_0
     744: istore        10
     746: iinc          12, -1
     749: goto          692
     752: iinc          11, -1
     755: goto          681
     758: iconst_0
     759: istore        11
     761: iload         11
     763: iload_2
     764: if_icmpge     1725
     767: iconst_0
     768: istore        12
     770: iload         12
     772: iload_1
     773: if_icmpge     1719
     776: new           #137                // class java/util/LinkedHashMap
     779: dup
     780: invokespecial #138                // Method java/util/LinkedHashMap."<init>":()V
     783: checkcast     #140                // class java/util/Map
     786: astore        13
     788: new           #142                // class kotlin/ranges/IntRange
     791: dup
     792: iconst_0
     793: iconst_1
     794: invokespecial #145                // Method kotlin/ranges/IntRange."<init>":(II)V
     797: checkcast     #147                // class java/lang/Iterable
     800: astore        15
     802: iconst_0
     803: istore        16
     805: aload         15
     807: astore        17
     809: new           #24                 // class java/util/ArrayList
     812: dup
     813: invokespecial #148                // Method java/util/ArrayList."<init>":()V
     816: checkcast     #150                // class java/util/Collection
     819: astore        18
     821: iconst_0
     822: istore        19
     824: aload         17
     826: invokeinterface #151,  1          // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
     831: astore        20
     833: aload         20
     835: invokeinterface #72,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     840: ifeq          910
     843: aload         20
     845: invokeinterface #76,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     850: astore        21
     852: aload         21
     854: checkcast     #18                 // class java/lang/Number
     857: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     860: istore        22
     862: iconst_0
     863: istore        23
     865: aload_3
     866: iload         12
     868: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     873: checkcast     #92                 // class "[C"
     876: iload         11
     878: caload
     879: ldc           #78                 // String ce
     881: iload         22
     883: invokevirtual #102                // Method java/lang/String.charAt:(I)C
     886: if_icmpeq     893
     889: iconst_1
     890: goto          894
     893: iconst_0
     894: ifeq          833
     897: aload         18
     899: aload         21
     901: invokeinterface #152,  2          // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
     906: pop
     907: goto          833
     910: aload         18
     912: checkcast     #12                 // class java/util/List
     915: nop
     916: astore        14
     918: aload         6
     920: invokeinterface #156,  1          // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set;
     925: invokeinterface #159,  1          // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;
     930: astore        15
     932: aload         15
     934: invokeinterface #72,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     939: ifeq          1709
     942: aload         15
     944: invokeinterface #76,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     949: checkcast     #161                // class java/util/Map$Entry
     952: astore        16
     954: aload         16
     956: invokeinterface #164,  1          // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;
     961: checkcast     #18                 // class java/lang/Number
     964: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     967: istore        17
     969: aload         16
     971: invokeinterface #167,  1          // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;
     976: checkcast     #18                 // class java/lang/Number
     979: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     982: istore        18
     984: aload         14
     986: invokeinterface #66,  1           // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
     991: astore        19
     993: aload         19
     995: invokeinterface #72,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
    1000: ifeq          932
    1003: aload         19
    1005: invokeinterface #76,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
    1010: checkcast     #18                 // class java/lang/Number
    1013: invokevirtual #22                 // Method java/lang/Number.intValue:()I
    1016: istore        20
    1018: iload_1
    1019: aload         4
    1021: iload         17
    1023: invokestatic  #171                // Method solve$intToArray:(I[II)V
    1026: aload         4
    1028: iload         12
    1030: iaload
    1031: istore        21
    1033: aload         4
    1035: astore        23
    1037: iload         12
    1039: iconst_1
    1040: isub
    1041: istore        24
    1043: iconst_0
    1044: iload         24
    1046: if_icmpgt     1065
    1049: iload         24
    1051: aload         23
    1053: arraylength
    1054: if_icmpge     1061
    1057: iconst_1
    1058: goto          1066
    1061: iconst_0
    1062: goto          1066
    1065: iconst_0
    1066: ifeq          1077
    1069: aload         23
    1071: iload         24
    1073: iaload
    1074: goto          1086
    1077: iload         24
    1079: istore        25
    1081: iconst_0
    1082: istore        26
    1084: iconst_m1
    1085: nop
    1086: istore        22
    1088: iload         21
    1090: iflt          1097
    1093: iconst_1
    1094: goto          1098
    1097: iconst_0
    1098: istore        23
    1100: iload         22
    1102: iflt          1109
    1105: iconst_1
    1106: goto          1110
    1109: iconst_0
    1110: istore        24
    1112: iload         18
    1114: iload         20
    1116: ifne          1123
    1119: iconst_0
    1120: goto          1134
    1123: iconst_4
    1124: iconst_2
    1125: iload         23
    1127: imul
    1128: isub
    1129: iconst_2
    1130: iload         24
    1132: imul
    1133: isub
    1134: iadd
    1135: istore        25
    1137: iconst_0
    1138: istore        26
    1140: iload         20
    1142: ifne          1232
    1145: aload         4
    1147: iload         12
    1149: iconst_m1
    1150: iastore
    1151: iload         21
    1153: iflt          1170
    1156: aload         4
    1158: iload         21
    1160: invokestatic  #177                // Method kotlin/collections/ArraysKt.contains:([II)Z
    1163: ifne          1170
    1166: iconst_1
    1167: goto          1171
    1170: iconst_0
    1171: istore        26
    1173: iload         26
    1175: ifeq          1527
    1178: aload         4
    1180: invokestatic  #181                // Method kotlin/collections/ArraysKt.maxOrNull:([I)Ljava/lang/Integer;
    1183: iconst_m1
    1184: istore        27
    1186: dup
    1187: ifnonnull     1194
    1190: pop
    1191: goto          1527
    1194: invokevirtual #182                // Method java/lang/Integer.intValue:()I
    1197: iload         27
    1199: if_icmpne     1527
    1202: aload         9
    1204: iload         12
    1206: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
    1211: checkcast     #135                // class "[Z"
    1214: iload         11
    1216: baload
    1217: ifne          1527
    1220: iload         8
    1222: iload         25
    1224: invokestatic  #188                // Method java/lang/Math.min:(II)I
    1227: istore        8
    1229: goto          1527
    1232: iconst_2
    1233: anewarray     #52                 // class java/lang/Integer
    1236: astore        28
    1238: aload         28
    1240: iconst_0
    1241: iload         21
    1243: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1246: aastore
    1247: aload         28
    1249: iconst_1
    1250: iload         22
    1252: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1255: aastore
    1256: aload         28
    1258: invokestatic  #62                 // Method kotlin/collections/CollectionsKt.listOf:([Ljava/lang/Object;)Ljava/util/List;
    1261: checkcast     #147                // class java/lang/Iterable
    1264: astore        28
    1266: iconst_0
    1267: istore        29
    1269: aload         28
    1271: instanceof    #150                // class java/util/Collection
    1274: ifeq          1294
    1277: aload         28
    1279: checkcast     #150                // class java/util/Collection
    1282: invokeinterface #191,  1          // InterfaceMethod java/util/Collection.isEmpty:()Z
    1287: ifeq          1294
    1290: iconst_0
    1291: goto          1368
    1294: iconst_0
    1295: istore        30
    1297: aload         28
    1299: invokeinterface #151,  1          // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
    1304: astore        31
    1306: aload         31
    1308: invokeinterface #72,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
    1313: ifeq          1366
    1316: aload         31
    1318: invokeinterface #76,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
    1323: astore        32
    1325: aload         32
    1327: checkcast     #18                 // class java/lang/Number
    1330: invokevirtual #22                 // Method java/lang/Number.intValue:()I
    1333: istore        33
    1335: iconst_0
    1336: istore        34
    1338: iload         33
    1340: iconst_m1
    1341: if_icmpne     1348
    1344: iconst_1
    1345: goto          1349
    1348: iconst_0
    1349: ifeq          1306
    1352: iinc          30, 1
    1355: iload         30
    1357: ifge          1306
    1360: invokestatic  #194                // Method kotlin/collections/CollectionsKt.throwCountOverflow:()V
    1363: goto          1306
    1366: iload         30
    1368: tableswitch   { // 0 to 2
                     0: 1449
                     1: 1405
                     2: 1396
               default: 1527
          }
    1396: aload         4
    1398: iload         12
    1400: iload_1
    1401: iastore
    1402: goto          1527
    1405: aload         4
    1407: iload         12
    1409: iload         21
    1411: iload         22
    1413: invokestatic  #197                // Method java/lang/Math.max:(II)I
    1416: iastore
    1417: iload         21
    1419: iconst_m1
    1420: if_icmpne     1527
    1423: iload         12
    1425: iconst_1
    1426: iadd
    1427: iload_1
    1428: if_icmpge     1527
    1431: aload         4
    1433: iload         12
    1435: iconst_1
    1436: iadd
    1437: iaload
    1438: iload         22
    1440: if_icmpne     1527
    1443: iconst_1
    1444: istore        26
    1446: goto          1527
    1449: aload         4
    1451: iload         12
    1453: iload         22
    1455: iastore
    1456: aload         4
    1458: invokestatic  #201                // Method kotlin/collections/ArraysKt.getIndices:([I)Lkotlin/ranges/IntRange;
    1461: checkcast     #147                // class java/lang/Iterable
    1464: astore        28
    1466: iconst_0
    1467: istore        29
    1469: aload         28
    1471: invokeinterface #151,  1          // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
    1476: astore        30
    1478: aload         30
    1480: invokeinterface #72,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
    1485: ifeq          1526
    1488: aload         30
    1490: checkcast     #203                // class kotlin/collections/IntIterator
    1493: invokevirtual #206                // Method kotlin/collections/IntIterator.nextInt:()I
    1496: istore        31
    1498: iload         31
    1500: istore        32
    1502: iconst_0
    1503: istore        33
    1505: aload         4
    1507: iload         32
    1509: iaload
    1510: iload         21
    1512: if_icmpne     1522
    1515: aload         4
    1517: iload         32
    1519: iload         22
    1521: iastore
    1522: nop
    1523: goto          1478
    1526: nop
    1527: iload         26
    1529: ifne          993
    1532: new           #137                // class java/util/LinkedHashMap
    1535: dup
    1536: invokespecial #138                // Method java/util/LinkedHashMap."<init>":()V
    1539: checkcast     #140                // class java/util/Map
    1542: astore        27
    1544: iconst_0
    1545: istore        28
    1547: aload         4
    1549: arraylength
    1550: istore        29
    1552: iload         28
    1554: iload         29
    1556: if_icmpge     1649
    1559: aload         4
    1561: iload         28
    1563: iaload
    1564: istore        30
    1566: iload         30
    1568: iconst_m1
    1569: if_icmpeq     1643
    1572: aload         27
    1574: invokeinterface #209,  1          // InterfaceMethod java/util/Map.keySet:()Ljava/util/Set;
    1579: iload         30
    1581: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1584: invokeinterface #211,  2          // InterfaceMethod java/util/Set.contains:(Ljava/lang/Object;)Z
    1589: ifne          1616
    1592: iload         30
    1594: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1597: aload         27
    1599: swap
    1600: aload         27
    1602: invokeinterface #214,  1          // InterfaceMethod java/util/Map.size:()I
    1607: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1610: invokeinterface #218,  3          // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    1615: pop
    1616: aload         4
    1618: iload         28
    1620: aload         27
    1622: iload         30
    1624: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1627: invokeinterface #221,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
    1632: dup
    1633: invokestatic  #225                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
    1636: checkcast     #18                 // class java/lang/Number
    1639: invokevirtual #22                 // Method java/lang/Number.intValue:()I
    1642: iastore
    1643: iinc          28, 1
    1646: goto          1552
    1649: iload_1
    1650: aload         4
    1652: invokestatic  #121                // Method solve$arrayToInt:(I[I)I
    1655: istore        28
    1657: iload         28
    1659: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1662: astore        30
    1664: nop
    1665: aload         13
    1667: aload         30
    1669: aload         13
    1671: iload         28
    1673: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1676: iload         7
    1678: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1681: invokeinterface #228,  3          // InterfaceMethod java/util/Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    1686: checkcast     #18                 // class java/lang/Number
    1689: invokevirtual #22                 // Method java/lang/Number.intValue:()I
    1692: iload         25
    1694: invokestatic  #188                // Method java/lang/Math.min:(II)I
    1697: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1700: invokeinterface #218,  3          // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    1705: pop
    1706: goto          993
    1709: aload         13
    1711: astore        6
    1713: iinc          12, 1
    1716: goto          770
    1719: iinc          11, 1
    1722: goto          761
    1725: aload         6
    1727: astore        12
    1729: iconst_0
    1730: istore        13
    1732: aload         12
    1734: astore        14
    1736: new           #137                // class java/util/LinkedHashMap
    1739: dup
    1740: invokespecial #138                // Method java/util/LinkedHashMap."<init>":()V
    1743: checkcast     #140                // class java/util/Map
    1746: astore        15
    1748: iconst_0
    1749: istore        16
    1751: aload         14
    1753: invokeinterface #156,  1          // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set;
    1758: invokeinterface #159,  1          // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;
    1763: astore        17
    1765: aload         17
    1767: invokeinterface #72,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
    1772: ifeq          1861
    1775: aload         17
    1777: invokeinterface #76,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
    1782: checkcast     #161                // class java/util/Map$Entry
    1785: astore        18
    1787: aload         18
    1789: astore        19
    1791: iconst_0
    1792: istore        20
    1794: iload_1
    1795: aload         4
    1797: aload         19
    1799: invokeinterface #164,  1          // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;
    1804: checkcast     #18                 // class java/lang/Number
    1807: invokevirtual #22                 // Method java/lang/Number.intValue:()I
    1810: invokestatic  #171                // Method solve$intToArray:(I[II)V
    1813: aload         4
    1815: invokestatic  #181                // Method kotlin/collections/ArraysKt.maxOrNull:([I)Ljava/lang/Integer;
    1818: dup
    1819: invokestatic  #225                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
    1822: invokevirtual #182                // Method java/lang/Integer.intValue:()I
    1825: ifgt          1832
    1828: iconst_1
    1829: goto          1833
    1832: iconst_0
    1833: ifeq          1765
    1836: aload         15
    1838: aload         18
    1840: invokeinterface #164,  1          // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;
    1845: aload         18
    1847: invokeinterface #167,  1          // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;
    1852: invokeinterface #218,  3          // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    1857: pop
    1858: goto          1765
    1861: aload         15
    1863: nop
    1864: invokeinterface #232,  1          // InterfaceMethod java/util/Map.values:()Ljava/util/Collection;
    1869: checkcast     #147                // class java/lang/Iterable
    1872: invokestatic  #236                // Method kotlin/collections/CollectionsKt.minOrNull:(Ljava/lang/Iterable;)Ljava/lang/Comparable;
    1875: checkcast     #52                 // class java/lang/Integer
    1878: dup
    1879: ifnull        1888
    1882: invokevirtual #182                // Method java/lang/Integer.intValue:()I
    1885: goto          1891
    1888: pop
    1889: iload         7
    1891: istore        11
    1893: iload         8
    1895: iload         11
    1897: invokestatic  #188                // Method java/lang/Math.min:(II)I
    1900: istore        8
    1902: iload         8
    1904: iload         7
    1906: if_icmpge     1914
    1909: iload         8
    1911: goto          1915
    1914: iconst_m1
    1915: istore        11
    1917: getstatic     #112                // Field java/lang/System.out:Ljava/io/PrintStream;
    1920: iload         11
    1922: invokevirtual #117                // Method java/io/PrintStream.println:(I)V
    1925: return

  public static final void main();
    Code:
       0: invokestatic  #304                // Method readInt:()I
       3: istore_0
       4: iconst_0
       5: istore_1
       6: iload_1
       7: iload_0
       8: if_icmpge     24
      11: iload_1
      12: istore_2
      13: iconst_0
      14: istore_3
      15: invokestatic  #306                // Method solve:()V
      18: iinc          1, 1
      21: goto          6
      24: return

  private static final java.lang.String readLn();
    Code:
       0: invokestatic  #312                // Method kotlin/io/ConsoleKt.readLine:()Ljava/lang/String;
       3: dup
       4: invokestatic  #225                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
       7: areturn

  private static final int readInt();
    Code:
       0: invokestatic  #32                 // Method readLn:()Ljava/lang/String;
       3: invokestatic  #316                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
       6: ireturn

  private static final java.util.List<java.lang.String> readStrings();
    Code:
       0: invokestatic  #32                 // Method readLn:()Ljava/lang/String;
       3: checkcast     #320                // class java/lang/CharSequence
       6: iconst_1
       7: anewarray     #34                 // class java/lang/String
      10: astore_0
      11: aload_0
      12: iconst_0
      13: ldc_w         #322                // String
      16: aastore
      17: aload_0
      18: iconst_0
      19: iconst_0
      20: bipush        6
      22: aconst_null
      23: invokestatic  #328                // Method kotlin/text/StringsKt.split$default:(Ljava/lang/CharSequence;[Ljava/lang/String;ZIILjava/lang/Object;)Ljava/util/List;
      26: areturn

  private static final java.util.List<java.lang.Integer> readInts();
    Code:
       0: invokestatic  #331                // Method readStrings:()Ljava/util/List;
       3: checkcast     #147                // class java/lang/Iterable
       6: astore_0
       7: iconst_0
       8: istore_1
       9: aload_0
      10: astore_2
      11: new           #24                 // class java/util/ArrayList
      14: dup
      15: aload_0
      16: bipush        10
      18: invokestatic  #335                // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
      21: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
      24: checkcast     #150                // class java/util/Collection
      27: astore_3
      28: iconst_0
      29: istore        4
      31: aload_2
      32: invokeinterface #151,  1          // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
      37: astore        5
      39: aload         5
      41: invokeinterface #72,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      46: ifeq          92
      49: aload         5
      51: invokeinterface #76,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      56: astore        6
      58: aload_3
      59: aload         6
      61: checkcast     #34                 // class java/lang/String
      64: astore        7
      66: astore        9
      68: iconst_0
      69: istore        8
      71: aload         7
      73: invokestatic  #316                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
      76: nop
      77: invokestatic  #56                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      80: aload         9
      82: swap
      83: invokeinterface #152,  2          // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
      88: pop
      89: goto          39
      92: aload_3
      93: checkcast     #12                 // class java/util/List
      96: nop
      97: areturn

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

  private static final int solve$arrayToInt(int, int[]);
    Code:
       0: iconst_0
       1: istore_2
       2: iconst_0
       3: istore_3
       4: iload_3
       5: iload_0
       6: if_icmpge     32
       9: aload_1
      10: iload_3
      11: iaload
      12: bipush        15
      14: iand
      15: istore        4
      17: iload_2
      18: iload         4
      20: iconst_4
      21: iload_3
      22: imul
      23: ishl
      24: ior
      25: istore_2
      26: iinc          3, 1
      29: goto          4
      32: iload_2
      33: ireturn

  private static final void solve$intToArray(int, int[], int);
    Code:
       0: iconst_0
       1: istore_3
       2: iload_3
       3: iload_0
       4: if_icmpge     39
       7: iload_2
       8: iconst_4
       9: iload_3
      10: imul
      11: ishr
      12: bipush        15
      14: iand
      15: istore        4
      17: aload_1
      18: iload_3
      19: iload         4
      21: bipush        15
      23: if_icmpne     30
      26: iconst_m1
      27: goto          32
      30: iload         4
      32: iastore
      33: iinc          3, 1
      36: goto          2
      39: return
}


package codeforces.round584

private fun solve() {
	val (n, m) = readInts()
	val a = List(n) { readInts() }
	val b = List(m) { i -> a.map { it[i] } }.sortedByDescending { it.maxOrNull() }.take(n)
	println(solve(b, 1, b[0]))
}

private fun solve(b: List<List<Int>>, x: Int, best: List<Int>): Int {
	val bestInit = best.sum()
	if (x == b.size) return bestInit
	return best.indices.mapNotNull { i ->
		val newBest = List(best.size) { maxOf(best[it], b[x][(it + i) % best.size]) }
		if (newBest.sum() > bestInit) solve(b, x + 1, newBest) else null
	}.maxOrNull() ?: solve(b, x + 1, best)
}

fun main() = repeat(readInt()) { solve() }

private fun readLn() = readLine()!!
private fun readInt() = readLn().toInt()
private fun readStrings() = readLn().split(" ")
private fun readInts() = readStrings().map { it.toInt() }

Compiled from "e1.kt"
public final class codeforces.round584.E1Kt {
  private static final void solve();
    Code:
       0: invokestatic  #10                 // Method readInts:()Ljava/util/List;
       3: astore_0
       4: aload_0
       5: iconst_0
       6: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      11: checkcast     #18                 // class java/lang/Number
      14: invokevirtual #22                 // Method java/lang/Number.intValue:()I
      17: istore_1
      18: aload_0
      19: iconst_1
      20: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      25: checkcast     #18                 // class java/lang/Number
      28: invokevirtual #22                 // Method java/lang/Number.intValue:()I
      31: istore_2
      32: new           #24                 // class java/util/ArrayList
      35: dup
      36: iload_1
      37: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
      40: astore        4
      42: iconst_0
      43: istore        5
      45: iload         5
      47: iload_1
      48: if_icmpge     82
      51: iload         5
      53: istore        6
      55: aload         4
      57: iload         6
      59: istore        7
      61: astore        20
      63: iconst_0
      64: istore        8
      66: invokestatic  #10                 // Method readInts:()Ljava/util/List;
      69: aload         20
      71: swap
      72: invokevirtual #32                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
      75: pop
      76: iinc          5, 1
      79: goto          45
      82: aload         4
      84: checkcast     #12                 // class java/util/List
      87: astore_3
      88: new           #24                 // class java/util/ArrayList
      91: dup
      92: iload_2
      93: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
      96: astore        5
      98: iconst_0
      99: istore        6
     101: iload         6
     103: iload_2
     104: if_icmpge     249
     107: iload         6
     109: istore        7
     111: aload         5
     113: iload         7
     115: istore        8
     117: astore        20
     119: iconst_0
     120: istore        9
     122: aload_3
     123: checkcast     #34                 // class java/lang/Iterable
     126: astore        10
     128: iconst_0
     129: istore        11
     131: aload         10
     133: astore        12
     135: new           #24                 // class java/util/ArrayList
     138: dup
     139: aload         10
     141: bipush        10
     143: invokestatic  #40                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
     146: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
     149: checkcast     #42                 // class java/util/Collection
     152: astore        13
     154: iconst_0
     155: istore        14
     157: aload         12
     159: invokeinterface #46,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
     164: astore        15
     166: aload         15
     168: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     173: ifeq          229
     176: aload         15
     178: invokeinterface #56,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     183: astore        16
     185: aload         13
     187: aload         16
     189: checkcast     #12                 // class java/util/List
     192: astore        17
     194: astore        18
     196: iconst_0
     197: istore        19
     199: aload         17
     201: iload         8
     203: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     208: checkcast     #18                 // class java/lang/Number
     211: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     214: invokestatic  #62                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     217: aload         18
     219: swap
     220: invokeinterface #63,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
     225: pop
     226: goto          166
     229: aload         13
     231: checkcast     #12                 // class java/util/List
     234: nop
     235: nop
     236: aload         20
     238: swap
     239: invokevirtual #32                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
     242: pop
     243: iinc          6, 1
     246: goto          101
     249: aload         5
     251: checkcast     #12                 // class java/util/List
     254: checkcast     #34                 // class java/lang/Iterable
     257: astore        5
     259: nop
     260: iconst_0
     261: istore        6
     263: aload         5
     265: new           #65                 // class codeforces/round584/E1Kt$solve$$inlined$sortedByDescending$1
     268: dup
     269: invokespecial #67                 // Method codeforces/round584/E1Kt$solve$$inlined$sortedByDescending$1."<init>":()V
     272: checkcast     #69                 // class java/util/Comparator
     275: invokestatic  #73                 // Method kotlin/collections/CollectionsKt.sortedWith:(Ljava/lang/Iterable;Ljava/util/Comparator;)Ljava/util/List;
     278: checkcast     #34                 // class java/lang/Iterable
     281: iload_1
     282: invokestatic  #77                 // Method kotlin/collections/CollectionsKt.take:(Ljava/lang/Iterable;I)Ljava/util/List;
     285: astore        4
     287: aload         4
     289: iconst_1
     290: aload         4
     292: iconst_0
     293: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     298: checkcast     #12                 // class java/util/List
     301: invokestatic  #80                 // Method solve:(Ljava/util/List;ILjava/util/List;)I
     304: istore        5
     306: getstatic     #86                 // Field java/lang/System.out:Ljava/io/PrintStream;
     309: iload         5
     311: invokevirtual #91                 // Method java/io/PrintStream.println:(I)V
     314: return

  private static final int solve(java.util.List<? extends java.util.List<java.lang.Integer>>, int, java.util.List<java.lang.Integer>);
    Code:
       0: aload_2
       1: checkcast     #34                 // class java/lang/Iterable
       4: invokestatic  #118                // Method kotlin/collections/CollectionsKt.sumOfInt:(Ljava/lang/Iterable;)I
       7: istore_3
       8: iload_1
       9: aload_0
      10: invokeinterface #121,  1          // InterfaceMethod java/util/List.size:()I
      15: if_icmpne     20
      18: iload_3
      19: ireturn
      20: aload_2
      21: checkcast     #42                 // class java/util/Collection
      24: invokestatic  #125                // Method kotlin/collections/CollectionsKt.getIndices:(Ljava/util/Collection;)Lkotlin/ranges/IntRange;
      27: checkcast     #34                 // class java/lang/Iterable
      30: astore        4
      32: iconst_0
      33: istore        5
      35: aload         4
      37: astore        6
      39: new           #24                 // class java/util/ArrayList
      42: dup
      43: invokespecial #126                // Method java/util/ArrayList."<init>":()V
      46: checkcast     #42                 // class java/util/Collection
      49: astore        7
      51: iconst_0
      52: istore        8
      54: aload         6
      56: astore        9
      58: iconst_0
      59: istore        10
      61: aload         9
      63: invokeinterface #46,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
      68: astore        11
      70: aload         11
      72: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      77: ifeq          277
      80: aload         11
      82: checkcast     #128                // class kotlin/collections/IntIterator
      85: invokevirtual #131                // Method kotlin/collections/IntIterator.nextInt:()I
      88: istore        12
      90: iload         12
      92: istore        13
      94: iconst_0
      95: istore        14
      97: iload         13
      99: istore        15
     101: iconst_0
     102: istore        16
     104: aload_2
     105: invokeinterface #121,  1          // InterfaceMethod java/util/List.size:()I
     110: istore        17
     112: new           #24                 // class java/util/ArrayList
     115: dup
     116: iload         17
     118: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
     121: astore        18
     123: iconst_0
     124: istore        19
     126: iload         19
     128: iload         17
     130: if_icmpge     215
     133: iload         19
     135: istore        20
     137: aload         18
     139: iload         20
     141: istore        21
     143: astore        22
     145: iconst_0
     146: istore        23
     148: aload_2
     149: iload         21
     151: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     156: checkcast     #18                 // class java/lang/Number
     159: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     162: aload_0
     163: iload_1
     164: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     169: checkcast     #12                 // class java/util/List
     172: iload         21
     174: iload         15
     176: iadd
     177: aload_2
     178: invokeinterface #121,  1          // InterfaceMethod java/util/List.size:()I
     183: irem
     184: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     189: checkcast     #18                 // class java/lang/Number
     192: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     195: invokestatic  #137                // Method java/lang/Math.max:(II)I
     198: nop
     199: invokestatic  #62                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     202: aload         22
     204: swap
     205: invokevirtual #32                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
     208: pop
     209: iinc          19, 1
     212: goto          126
     215: aload         18
     217: checkcast     #12                 // class java/util/List
     220: astore        24
     222: aload         24
     224: checkcast     #34                 // class java/lang/Iterable
     227: invokestatic  #118                // Method kotlin/collections/CollectionsKt.sumOfInt:(Ljava/lang/Iterable;)I
     230: iload_3
     231: if_icmple     249
     234: aload_0
     235: iload_1
     236: iconst_1
     237: iadd
     238: aload         24
     240: invokestatic  #80                 // Method solve:(Ljava/util/List;ILjava/util/List;)I
     243: invokestatic  #62                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     246: goto          250
     249: aconst_null
     250: dup
     251: ifnull        272
     254: astore        25
     256: iconst_0
     257: istore        26
     259: aload         7
     261: aload         25
     263: invokeinterface #63,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
     268: pop
     269: goto          273
     272: pop
     273: nop
     274: goto          70
     277: nop
     278: aload         7
     280: checkcast     #12                 // class java/util/List
     283: nop
     284: checkcast     #34                 // class java/lang/Iterable
     287: invokestatic  #141                // Method kotlin/collections/CollectionsKt.maxOrNull:(Ljava/lang/Iterable;)Ljava/lang/Comparable;
     290: checkcast     #58                 // class java/lang/Integer
     293: dup
     294: ifnull        303
     297: invokevirtual #142                // Method java/lang/Integer.intValue:()I
     300: goto          312
     303: pop
     304: aload_0
     305: iload_1
     306: iconst_1
     307: iadd
     308: aload_2
     309: invokestatic  #80                 // Method solve:(Ljava/util/List;ILjava/util/List;)I
     312: ireturn

  public static final void main();
    Code:
       0: invokestatic  #163                // Method readInt:()I
       3: istore_0
       4: iconst_0
       5: istore_1
       6: iload_1
       7: iload_0
       8: if_icmpge     24
      11: iload_1
      12: istore_2
      13: iconst_0
      14: istore_3
      15: invokestatic  #165                // Method solve:()V
      18: iinc          1, 1
      21: goto          6
      24: return

  private static final java.lang.String readLn();
    Code:
       0: invokestatic  #173                // Method kotlin/io/ConsoleKt.readLine:()Ljava/lang/String;
       3: dup
       4: invokestatic  #179                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
       7: areturn

  private static final int readInt();
    Code:
       0: invokestatic  #181                // Method readLn:()Ljava/lang/String;
       3: invokestatic  #185                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
       6: ireturn

  private static final java.util.List<java.lang.String> readStrings();
    Code:
       0: invokestatic  #181                // Method readLn:()Ljava/lang/String;
       3: checkcast     #189                // class java/lang/CharSequence
       6: iconst_1
       7: anewarray     #191                // class java/lang/String
      10: astore_0
      11: aload_0
      12: iconst_0
      13: ldc           #193                // String
      15: aastore
      16: aload_0
      17: iconst_0
      18: iconst_0
      19: bipush        6
      21: aconst_null
      22: invokestatic  #199                // Method kotlin/text/StringsKt.split$default:(Ljava/lang/CharSequence;[Ljava/lang/String;ZIILjava/lang/Object;)Ljava/util/List;
      25: areturn

  private static final java.util.List<java.lang.Integer> readInts();
    Code:
       0: invokestatic  #202                // Method readStrings:()Ljava/util/List;
       3: checkcast     #34                 // class java/lang/Iterable
       6: astore_0
       7: iconst_0
       8: istore_1
       9: aload_0
      10: astore_2
      11: new           #24                 // class java/util/ArrayList
      14: dup
      15: aload_0
      16: bipush        10
      18: invokestatic  #40                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
      21: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
      24: checkcast     #42                 // class java/util/Collection
      27: astore_3
      28: iconst_0
      29: istore        4
      31: aload_2
      32: invokeinterface #46,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
      37: astore        5
      39: aload         5
      41: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      46: ifeq          92
      49: aload         5
      51: invokeinterface #56,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      56: astore        6
      58: aload_3
      59: aload         6
      61: checkcast     #191                // class java/lang/String
      64: astore        7
      66: astore        9
      68: iconst_0
      69: istore        8
      71: aload         7
      73: invokestatic  #185                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
      76: nop
      77: invokestatic  #62                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      80: aload         9
      82: swap
      83: invokeinterface #63,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
      88: pop
      89: goto          39
      92: aload_3
      93: checkcast     #12                 // class java/util/List
      96: nop
      97: areturn

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

Compiled from "Comparisons.kt"
public final class codeforces.round584.E1Kt$solve$$inlined$sortedByDescending$1<T> implements java.util.Comparator {
  public codeforces.round584.E1Kt$solve$$inlined$sortedByDescending$1();
    Code:
       0: aload_0
       1: invokespecial #16                 // Method java/lang/Object."<init>":()V
       4: return

  public final int compare(T, T);
    Code:
       0: aload_2
       1: checkcast     #23                 // class java/util/List
       4: astore_3
       5: iconst_0
       6: istore        4
       8: aload_3
       9: checkcast     #25                 // class java/lang/Iterable
      12: invokestatic  #31                 // Method kotlin/collections/CollectionsKt.maxOrNull:(Ljava/lang/Iterable;)Ljava/lang/Comparable;
      15: checkcast     #33                 // class java/lang/Integer
      18: checkcast     #35                 // class java/lang/Comparable
      21: aload_1
      22: checkcast     #23                 // class java/util/List
      25: astore_3
      26: astore        5
      28: iconst_0
      29: istore        4
      31: aload_3
      32: checkcast     #25                 // class java/lang/Iterable
      35: invokestatic  #31                 // Method kotlin/collections/CollectionsKt.maxOrNull:(Ljava/lang/Iterable;)Ljava/lang/Comparable;
      38: checkcast     #33                 // class java/lang/Integer
      41: aload         5
      43: swap
      44: checkcast     #35                 // class java/lang/Comparable
      47: invokestatic  #41                 // Method kotlin/comparisons/ComparisonsKt.compareValues:(Ljava/lang/Comparable;Ljava/lang/Comparable;)I
      50: ireturn
}


package codeforces.round584

private const val M = 1_000_000_007

fun main() {
	val (n, m) = readInts()
	val nei = List(n) { mutableListOf<Pair<String, Int>>() }
	repeat(m) { i ->
		val label = (i + 1).toString()
		val (a, b) = readInts().map { it - 1 }
		nei[a].add(label to b)
		nei[b].add(label to a)
	}
	val gap = m.toString().length
	val inf = gap * n
	val dist = MutableList(n) { inf }
	val text = MutableList(n) { "" }
	val rem = MutableList(n) { 0 }
	val byDist = List(inf) { mutableSetOf<Int>() }
	dist[0] = 0
	byDist[0].add(0)
	for (curDist in byDist.indices) {
		for (v in byDist[curDist]) {
			if (dist[v] < curDist) continue
			for ((label, u) in nei[v]) {
				val newDist = curDist + label.length
				val newText = text[v] + label
				if (newDist >= dist[u] && !(newDist == dist[u] && newText < text[u])) continue
				dist[u] = newDist
				text[u] = newText
				rem[u] = ((rem[v].toString() + label).toLong() % M).toInt()
				byDist[newDist].add(u)
			}
		}
		if (curDist % gap != 0) continue
		val prefixes = mutableListOf<String>()
		for (mode in 0..1) {
			val map = prefixes.sorted().withIndex().associate { it.value to it.index.toString().padStart(gap, '0') }
			for (c in curDist + 1..minOf(curDist + gap, inf - 1)) {
				for (v in byDist[c]) {
					if (dist[v] < c) continue
					val take = text[v].length - (c - curDist)
					val prefix = text[v].take(take)
					prefixes.add(prefix)
					if (mode == 1) text[v] = map[prefix] + text[v].drop(take)
				}
			}
		}
	}
	rem.drop(1).forEach { println(it) }
}

private fun readLn() = readLine()!!
private fun readStrings() = readLn().split(" ")
private fun readInts() = readStrings().map { it.toInt() }

Compiled from "f.kt"
public final class codeforces.round584.FKt {
  private static final int M;

  public static final void main();
    Code:
       0: invokestatic  #10                 // Method readInts:()Ljava/util/List;
       3: astore_0
       4: aload_0
       5: iconst_0
       6: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      11: checkcast     #18                 // class java/lang/Number
      14: invokevirtual #22                 // Method java/lang/Number.intValue:()I
      17: istore_1
      18: aload_0
      19: iconst_1
      20: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      25: checkcast     #18                 // class java/lang/Number
      28: invokevirtual #22                 // Method java/lang/Number.intValue:()I
      31: istore_2
      32: new           #24                 // class java/util/ArrayList
      35: dup
      36: iload_1
      37: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
      40: astore        4
      42: iconst_0
      43: istore        5
      45: iload         5
      47: iload_1
      48: if_icmpge     90
      51: iload         5
      53: istore        6
      55: aload         4
      57: iload         6
      59: istore        7
      61: astore        26
      63: iconst_0
      64: istore        8
      66: new           #24                 // class java/util/ArrayList
      69: dup
      70: invokespecial #30                 // Method java/util/ArrayList."<init>":()V
      73: checkcast     #12                 // class java/util/List
      76: nop
      77: aload         26
      79: swap
      80: invokevirtual #34                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
      83: pop
      84: iinc          5, 1
      87: goto          45
      90: aload         4
      92: checkcast     #12                 // class java/util/List
      95: astore_3
      96: iconst_0
      97: istore        4
      99: iload         4
     101: iload_2
     102: if_icmpge     323
     105: iload         4
     107: istore        5
     109: iconst_0
     110: istore        6
     112: iload         5
     114: iconst_1
     115: iadd
     116: invokestatic  #40                 // Method java/lang/String.valueOf:(I)Ljava/lang/String;
     119: astore        7
     121: invokestatic  #10                 // Method readInts:()Ljava/util/List;
     124: checkcast     #42                 // class java/lang/Iterable
     127: astore        8
     129: iconst_0
     130: istore        9
     132: aload         8
     134: astore        10
     136: new           #24                 // class java/util/ArrayList
     139: dup
     140: aload         8
     142: bipush        10
     144: invokestatic  #48                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
     147: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
     150: checkcast     #50                 // class java/util/Collection
     153: astore        11
     155: iconst_0
     156: istore        12
     158: aload         10
     160: invokeinterface #54,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
     165: astore        13
     167: aload         13
     169: invokeinterface #60,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     174: ifeq          222
     177: aload         13
     179: invokeinterface #64,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     184: astore        14
     186: aload         11
     188: aload         14
     190: checkcast     #18                 // class java/lang/Number
     193: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     196: istore        15
     198: astore        16
     200: iconst_0
     201: istore        17
     203: iload         15
     205: iconst_1
     206: isub
     207: invokestatic  #69                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     210: aload         16
     212: swap
     213: invokeinterface #70,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
     218: pop
     219: goto          167
     222: aload         11
     224: checkcast     #12                 // class java/util/List
     227: nop
     228: astore        18
     230: aload         18
     232: iconst_0
     233: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     238: checkcast     #18                 // class java/lang/Number
     241: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     244: istore        8
     246: aload         18
     248: iconst_1
     249: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     254: checkcast     #18                 // class java/lang/Number
     257: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     260: istore        9
     262: aload_3
     263: iload         8
     265: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     270: checkcast     #12                 // class java/util/List
     273: aload         7
     275: iload         9
     277: invokestatic  #69                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     280: invokestatic  #76                 // Method kotlin/TuplesKt.to:(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
     283: invokeinterface #77,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
     288: pop
     289: aload_3
     290: iload         9
     292: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     297: checkcast     #12                 // class java/util/List
     300: aload         7
     302: iload         8
     304: invokestatic  #69                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     307: invokestatic  #76                 // Method kotlin/TuplesKt.to:(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
     310: invokeinterface #77,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
     315: pop
     316: nop
     317: iinc          4, 1
     320: goto          99
     323: iload_2
     324: invokestatic  #40                 // Method java/lang/String.valueOf:(I)Ljava/lang/String;
     327: invokevirtual #80                 // Method java/lang/String.length:()I
     330: istore        4
     332: iload         4
     334: iload_1
     335: imul
     336: istore        5
     338: new           #24                 // class java/util/ArrayList
     341: dup
     342: iload_1
     343: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
     346: astore        7
     348: iconst_0
     349: istore        8
     351: iload         8
     353: iload_1
     354: if_icmpge     390
     357: iload         8
     359: istore        9
     361: aload         7
     363: iload         9
     365: istore        10
     367: astore        26
     369: iconst_0
     370: istore        11
     372: iload         5
     374: invokestatic  #69                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     377: aload         26
     379: swap
     380: invokevirtual #34                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
     383: pop
     384: iinc          8, 1
     387: goto          351
     390: aload         7
     392: checkcast     #12                 // class java/util/List
     395: astore        6
     397: new           #24                 // class java/util/ArrayList
     400: dup
     401: iload_1
     402: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
     405: astore        8
     407: iconst_0
     408: istore        9
     410: iload         9
     412: iload_1
     413: if_icmpge     446
     416: iload         9
     418: istore        10
     420: aload         8
     422: iload         10
     424: istore        11
     426: astore        26
     428: iconst_0
     429: istore        12
     431: ldc           #82                 // String
     433: aload         26
     435: swap
     436: invokevirtual #34                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
     439: pop
     440: iinc          9, 1
     443: goto          410
     446: aload         8
     448: checkcast     #12                 // class java/util/List
     451: astore        7
     453: new           #24                 // class java/util/ArrayList
     456: dup
     457: iload_1
     458: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
     461: astore        9
     463: iconst_0
     464: istore        10
     466: iload         10
     468: iload_1
     469: if_icmpge     504
     472: iload         10
     474: istore        11
     476: aload         9
     478: iload         11
     480: istore        12
     482: astore        26
     484: iconst_0
     485: istore        13
     487: iconst_0
     488: invokestatic  #69                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     491: aload         26
     493: swap
     494: invokevirtual #34                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
     497: pop
     498: iinc          10, 1
     501: goto          466
     504: aload         9
     506: checkcast     #12                 // class java/util/List
     509: astore        8
     511: new           #24                 // class java/util/ArrayList
     514: dup
     515: iload         5
     517: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
     520: astore        10
     522: iconst_0
     523: istore        11
     525: iload         11
     527: iload         5
     529: if_icmpge     571
     532: iload         11
     534: istore        12
     536: aload         10
     538: iload         12
     540: istore        13
     542: astore        26
     544: iconst_0
     545: istore        14
     547: new           #84                 // class java/util/LinkedHashSet
     550: dup
     551: invokespecial #85                 // Method java/util/LinkedHashSet."<init>":()V
     554: checkcast     #87                 // class java/util/Set
     557: nop
     558: aload         26
     560: swap
     561: invokevirtual #34                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
     564: pop
     565: iinc          11, 1
     568: goto          525
     571: aload         10
     573: checkcast     #12                 // class java/util/List
     576: astore        9
     578: aload         6
     580: iconst_0
     581: iconst_0
     582: invokestatic  #69                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     585: invokeinterface #91,  3           // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     590: pop
     591: aload         9
     593: iconst_0
     594: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     599: checkcast     #87                 // class java/util/Set
     602: iconst_0
     603: invokestatic  #69                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     606: invokeinterface #92,  2           // InterfaceMethod java/util/Set.add:(Ljava/lang/Object;)Z
     611: pop
     612: iconst_0
     613: istore        10
     615: aload         9
     617: checkcast     #50                 // class java/util/Collection
     620: invokeinterface #95,  1           // InterfaceMethod java/util/Collection.size:()I
     625: istore        11
     627: iload         10
     629: iload         11
     631: if_icmpge     1384
     634: aload         9
     636: iload         10
     638: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     643: checkcast     #87                 // class java/util/Set
     646: invokeinterface #96,  1           // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;
     651: astore        12
     653: aload         12
     655: invokeinterface #60,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     660: ifeq          973
     663: aload         12
     665: invokeinterface #64,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     670: checkcast     #18                 // class java/lang/Number
     673: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     676: istore        13
     678: aload         6
     680: iload         13
     682: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     687: checkcast     #18                 // class java/lang/Number
     690: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     693: iload         10
     695: if_icmplt     653
     698: aload_3
     699: iload         13
     701: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     706: checkcast     #12                 // class java/util/List
     709: invokeinterface #97,  1           // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
     714: astore        14
     716: aload         14
     718: invokeinterface #60,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     723: ifeq          653
     726: aload         14
     728: invokeinterface #64,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     733: checkcast     #99                 // class kotlin/Pair
     736: astore        15
     738: aload         15
     740: invokevirtual #102                // Method kotlin/Pair.component1:()Ljava/lang/Object;
     743: checkcast     #36                 // class java/lang/String
     746: astore        16
     748: aload         15
     750: invokevirtual #105                // Method kotlin/Pair.component2:()Ljava/lang/Object;
     753: checkcast     #18                 // class java/lang/Number
     756: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     759: istore        17
     761: iload         10
     763: aload         16
     765: invokevirtual #80                 // Method java/lang/String.length:()I
     768: iadd
     769: istore        18
     771: new           #107                // class java/lang/StringBuilder
     774: dup
     775: invokespecial #108                // Method java/lang/StringBuilder."<init>":()V
     778: aload         7
     780: iload         13
     782: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     787: checkcast     #36                 // class java/lang/String
     790: invokevirtual #112                // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
     793: aload         16
     795: invokevirtual #112                // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
     798: invokevirtual #116                // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
     801: astore        19
     803: iload         18
     805: aload         6
     807: iload         17
     809: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     814: checkcast     #18                 // class java/lang/Number
     817: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     820: if_icmplt     866
     823: iload         18
     825: aload         6
     827: iload         17
     829: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     834: checkcast     #18                 // class java/lang/Number
     837: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     840: if_icmpne     716
     843: aload         19
     845: aload         7
     847: iload         17
     849: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     854: checkcast     #36                 // class java/lang/String
     857: invokevirtual #120                // Method java/lang/String.compareTo:(Ljava/lang/String;)I
     860: iflt          866
     863: goto          716
     866: aload         6
     868: iload         17
     870: iload         18
     872: invokestatic  #69                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     875: invokeinterface #91,  3           // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     880: pop
     881: aload         7
     883: iload         17
     885: aload         19
     887: invokeinterface #91,  3           // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     892: pop
     893: aload         8
     895: iload         17
     897: new           #107                // class java/lang/StringBuilder
     900: dup
     901: invokespecial #108                // Method java/lang/StringBuilder."<init>":()V
     904: aload         8
     906: iload         13
     908: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     913: checkcast     #18                 // class java/lang/Number
     916: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     919: invokevirtual #123                // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
     922: aload         16
     924: invokevirtual #112                // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
     927: invokevirtual #116                // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
     930: invokestatic  #129                // Method java/lang/Long.parseLong:(Ljava/lang/String;)J
     933: ldc           #130                // int 1000000007
     935: i2l
     936: lrem
     937: l2i
     938: invokestatic  #69                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     941: invokeinterface #91,  3           // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     946: pop
     947: aload         9
     949: iload         18
     951: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     956: checkcast     #87                 // class java/util/Set
     959: iload         17
     961: invokestatic  #69                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     964: invokeinterface #92,  2           // InterfaceMethod java/util/Set.add:(Ljava/lang/Object;)Z
     969: pop
     970: goto          716
     973: iload         10
     975: iload         4
     977: irem
     978: ifne          1378
     981: new           #24                 // class java/util/ArrayList
     984: dup
     985: invokespecial #30                 // Method java/util/ArrayList."<init>":()V
     988: checkcast     #12                 // class java/util/List
     991: astore        12
     993: iconst_0
     994: istore        13
     996: iload         13
     998: iconst_2
     999: if_icmpge     1378
    1002: aload         12
    1004: checkcast     #42                 // class java/lang/Iterable
    1007: invokestatic  #134                // Method kotlin/collections/CollectionsKt.sorted:(Ljava/lang/Iterable;)Ljava/util/List;
    1010: checkcast     #42                 // class java/lang/Iterable
    1013: invokestatic  #138                // Method kotlin/collections/CollectionsKt.withIndex:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
    1016: astore        15
    1018: iconst_0
    1019: istore        16
    1021: aload         15
    1023: bipush        10
    1025: invokestatic  #48                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
    1028: invokestatic  #144                // Method kotlin/collections/MapsKt.mapCapacity:(I)I
    1031: bipush        16
    1033: invokestatic  #150                // Method kotlin/ranges/RangesKt.coerceAtLeast:(II)I
    1036: istore        17
    1038: aload         15
    1040: astore        18
    1042: new           #152                // class java/util/LinkedHashMap
    1045: dup
    1046: iload         17
    1048: invokespecial #153                // Method java/util/LinkedHashMap."<init>":(I)V
    1051: checkcast     #155                // class java/util/Map
    1054: astore        19
    1056: iconst_0
    1057: istore        20
    1059: aload         18
    1061: invokeinterface #54,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
    1066: astore        21
    1068: aload         21
    1070: invokeinterface #60,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
    1075: ifeq          1147
    1078: aload         21
    1080: invokeinterface #64,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
    1085: astore        22
    1087: aload         19
    1089: astore        23
    1091: aload         22
    1093: checkcast     #157                // class kotlin/collections/IndexedValue
    1096: astore        24
    1098: iconst_0
    1099: istore        25
    1101: aload         24
    1103: invokevirtual #160                // Method kotlin/collections/IndexedValue.getValue:()Ljava/lang/Object;
    1106: aload         24
    1108: invokevirtual #163                // Method kotlin/collections/IndexedValue.getIndex:()I
    1111: invokestatic  #40                 // Method java/lang/String.valueOf:(I)Ljava/lang/String;
    1114: iload         4
    1116: bipush        48
    1118: invokestatic  #169                // Method kotlin/text/StringsKt.padStart:(Ljava/lang/String;IC)Ljava/lang/String;
    1121: invokestatic  #76                 // Method kotlin/TuplesKt.to:(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
    1124: astore        24
    1126: aload         23
    1128: aload         24
    1130: invokevirtual #172                // Method kotlin/Pair.getFirst:()Ljava/lang/Object;
    1133: aload         24
    1135: invokevirtual #175                // Method kotlin/Pair.getSecond:()Ljava/lang/Object;
    1138: invokeinterface #179,  3          // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    1143: pop
    1144: goto          1068
    1147: aload         19
    1149: nop
    1150: astore        14
    1152: iload         10
    1154: iconst_1
    1155: iadd
    1156: istore        15
    1158: iload         10
    1160: iload         4
    1162: iadd
    1163: iload         5
    1165: iconst_1
    1166: isub
    1167: invokestatic  #184                // Method java/lang/Math.min:(II)I
    1170: istore        16
    1172: iload         15
    1174: iload         16
    1176: if_icmpgt     1372
    1179: aload         9
    1181: iload         15
    1183: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
    1188: checkcast     #87                 // class java/util/Set
    1191: invokeinterface #96,  1           // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;
    1196: astore        17
    1198: aload         17
    1200: invokeinterface #60,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
    1205: ifeq          1359
    1208: aload         17
    1210: invokeinterface #64,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
    1215: checkcast     #18                 // class java/lang/Number
    1218: invokevirtual #22                 // Method java/lang/Number.intValue:()I
    1221: istore        18
    1223: aload         6
    1225: iload         18
    1227: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
    1232: checkcast     #18                 // class java/lang/Number
    1235: invokevirtual #22                 // Method java/lang/Number.intValue:()I
    1238: iload         15
    1240: if_icmplt     1198
    1243: aload         7
    1245: iload         18
    1247: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
    1252: checkcast     #36                 // class java/lang/String
    1255: invokevirtual #80                 // Method java/lang/String.length:()I
    1258: iload         15
    1260: iload         10
    1262: isub
    1263: isub
    1264: istore        19
    1266: aload         7
    1268: iload         18
    1270: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
    1275: checkcast     #36                 // class java/lang/String
    1278: iload         19
    1280: invokestatic  #188                // Method kotlin/text/StringsKt.take:(Ljava/lang/String;I)Ljava/lang/String;
    1283: astore        20
    1285: aload         12
    1287: aload         20
    1289: invokeinterface #77,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
    1294: pop
    1295: iload         13
    1297: iconst_1
    1298: if_icmpne     1198
    1301: aload         7
    1303: iload         18
    1305: new           #107                // class java/lang/StringBuilder
    1308: dup
    1309: invokespecial #108                // Method java/lang/StringBuilder."<init>":()V
    1312: aload         14
    1314: aload         20
    1316: invokeinterface #191,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
    1321: checkcast     #36                 // class java/lang/String
    1324: invokevirtual #112                // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
    1327: aload         7
    1329: iload         18
    1331: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
    1336: checkcast     #36                 // class java/lang/String
    1339: iload         19
    1341: invokestatic  #194                // Method kotlin/text/StringsKt.drop:(Ljava/lang/String;I)Ljava/lang/String;
    1344: invokevirtual #112                // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
    1347: invokevirtual #116                // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
    1350: invokeinterface #91,  3           // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
    1355: pop
    1356: goto          1198
    1359: iload         15
    1361: iload         16
    1363: if_icmpeq     1372
    1366: iinc          15, 1
    1369: goto          1179
    1372: iinc          13, 1
    1375: goto          996
    1378: iinc          10, 1
    1381: goto          627
    1384: aload         8
    1386: checkcast     #42                 // class java/lang/Iterable
    1389: iconst_1
    1390: invokestatic  #197                // Method kotlin/collections/CollectionsKt.drop:(Ljava/lang/Iterable;I)Ljava/util/List;
    1393: checkcast     #42                 // class java/lang/Iterable
    1396: astore        10
    1398: iconst_0
    1399: istore        11
    1401: aload         10
    1403: invokeinterface #54,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
    1408: astore        12
    1410: aload         12
    1412: invokeinterface #60,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
    1417: ifeq          1455
    1420: aload         12
    1422: invokeinterface #64,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
    1427: astore        13
    1429: aload         13
    1431: checkcast     #18                 // class java/lang/Number
    1434: invokevirtual #22                 // Method java/lang/Number.intValue:()I
    1437: istore        14
    1439: iconst_0
    1440: istore        15
    1442: getstatic     #203                // Field java/lang/System.out:Ljava/io/PrintStream;
    1445: iload         14
    1447: invokevirtual #208                // Method java/io/PrintStream.println:(I)V
    1450: nop
    1451: nop
    1452: goto          1410
    1455: nop
    1456: return

  private static final java.lang.String readLn();
    Code:
       0: invokestatic  #270                // Method kotlin/io/ConsoleKt.readLine:()Ljava/lang/String;
       3: dup
       4: invokestatic  #276                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
       7: areturn

  private static final java.util.List<java.lang.String> readStrings();
    Code:
       0: invokestatic  #280                // Method readLn:()Ljava/lang/String;
       3: checkcast     #282                // class java/lang/CharSequence
       6: iconst_1
       7: anewarray     #36                 // class java/lang/String
      10: astore_0
      11: aload_0
      12: iconst_0
      13: ldc_w         #284                // String
      16: aastore
      17: aload_0
      18: iconst_0
      19: iconst_0
      20: bipush        6
      22: aconst_null
      23: invokestatic  #288                // Method kotlin/text/StringsKt.split$default:(Ljava/lang/CharSequence;[Ljava/lang/String;ZIILjava/lang/Object;)Ljava/util/List;
      26: areturn

  private static final java.util.List<java.lang.Integer> readInts();
    Code:
       0: invokestatic  #291                // Method readStrings:()Ljava/util/List;
       3: checkcast     #42                 // class java/lang/Iterable
       6: astore_0
       7: iconst_0
       8: istore_1
       9: aload_0
      10: astore_2
      11: new           #24                 // class java/util/ArrayList
      14: dup
      15: aload_0
      16: bipush        10
      18: invokestatic  #48                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
      21: invokespecial #28                 // Method java/util/ArrayList."<init>":(I)V
      24: checkcast     #50                 // class java/util/Collection
      27: astore_3
      28: iconst_0
      29: istore        4
      31: aload_2
      32: invokeinterface #54,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
      37: astore        5
      39: aload         5
      41: invokeinterface #60,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      46: ifeq          92
      49: aload         5
      51: invokeinterface #64,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      56: astore        6
      58: aload_3
      59: aload         6
      61: checkcast     #36                 // class java/lang/String
      64: astore        7
      66: astore        9
      68: iconst_0
      69: istore        8
      71: aload         7
      73: invokestatic  #294                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
      76: nop
      77: invokestatic  #69                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      80: aload         9
      82: swap
      83: invokeinterface #70,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
      88: pop
      89: goto          39
      92: aload_3
      93: checkcast     #12                 // class java/util/List
      96: nop
      97: areturn

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