package codeforces.round616

fun solve(k: Int, toSwitch: List<Int>, where: List<List<Int>>): List<Int> {
	val p = MutableList(k) { it }
	val odd = MutableList(k) { 0 }
	val d = List(k) { mutableListOf(0, 1) }
	fun get(x: Int): Int {
		if (p[x] == x) return x
		val par = p[x]
		p[x] = get(par)
		odd[x] = odd[x] xor odd[par]
		return p[x]
	}
	fun spend(x: Int): Int {
		if (where[x].isEmpty()) return 0
		if (where[x].size == 1) {
			val (a) = where[x]
			val aa = get(a)
			val old = d[aa].minOrNull()!!
			d[aa][odd[a] xor toSwitch[x] xor 1] = k + 1
			return d[aa].minOrNull()!! - old
		}
		val (a, b) = where[x].let { if ((x + it.hashCode()) % 2 == 0) it else it.reversed() }
		val (aa, bb) = get(a) to get(b)
		if (aa == bb) return 0
		p[aa] = bb
		odd[aa] = odd[a] xor odd[b] xor toSwitch[x]
		val old = d[aa].minOrNull()!! + d[bb].minOrNull()!!
		for (i in 0..1) {
			d[bb][i] = minOf(d[bb][i] + d[aa][i xor odd[aa]], k + 1)
		}
		return d[bb].minOrNull()!! - old
	}
	var ans = 0
	return toSwitch.indices.map { ans += spend(it); ans }
}

fun main() {
	val (_, k) = readInts()
	val toSwitch = readLn().map { '1' - it }
	val where = List(toSwitch.size) { mutableListOf<Int>() }
	repeat(k) { i ->
		readLn()
		readInts().forEach { where[it - 1].add(i) }
	}
	println(solve(k, toSwitch, where).joinToString("\n"))
}

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

Compiled from "c.kt"
public final class codeforces.round616.CKt {
  public static final java.util.List<java.lang.Integer> solve(int, java.util.List<java.lang.Integer>, java.util.List<? extends java.util.List<java.lang.Integer>>);
    Code:
       0: aload_1
       1: ldc           #10                 // String toSwitch
       3: invokestatic  #16                 // Method kotlin/jvm/internal/Intrinsics.checkNotNullParameter:(Ljava/lang/Object;Ljava/lang/String;)V
       6: aload_2
       7: ldc           #18                 // String where
       9: invokestatic  #16                 // Method kotlin/jvm/internal/Intrinsics.checkNotNullParameter:(Ljava/lang/Object;Ljava/lang/String;)V
      12: new           #20                 // class java/util/ArrayList
      15: dup
      16: iload_0
      17: invokespecial #24                 // Method java/util/ArrayList."<init>":(I)V
      20: astore        4
      22: iconst_0
      23: istore        5
      25: iload         5
      27: iload_0
      28: if_icmpge     64
      31: iload         5
      33: istore        6
      35: aload         4
      37: iload         6
      39: istore        7
      41: astore        16
      43: iconst_0
      44: istore        8
      46: iload         7
      48: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      51: aload         16
      53: swap
      54: invokevirtual #34                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
      57: pop
      58: iinc          5, 1
      61: goto          25
      64: aload         4
      66: checkcast     #36                 // class java/util/List
      69: astore_3
      70: new           #20                 // class java/util/ArrayList
      73: dup
      74: iload_0
      75: invokespecial #24                 // Method java/util/ArrayList."<init>":(I)V
      78: astore        5
      80: iconst_0
      81: istore        6
      83: iload         6
      85: iload_0
      86: if_icmpge     121
      89: iload         6
      91: istore        7
      93: aload         5
      95: iload         7
      97: istore        8
      99: astore        16
     101: iconst_0
     102: istore        9
     104: iconst_0
     105: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     108: aload         16
     110: swap
     111: invokevirtual #34                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
     114: pop
     115: iinc          6, 1
     118: goto          83
     121: aload         5
     123: checkcast     #36                 // class java/util/List
     126: astore        4
     128: new           #20                 // class java/util/ArrayList
     131: dup
     132: iload_0
     133: invokespecial #24                 // Method java/util/ArrayList."<init>":(I)V
     136: astore        6
     138: iconst_0
     139: istore        7
     141: iload         7
     143: iload_0
     144: if_icmpge     202
     147: iload         7
     149: istore        8
     151: aload         6
     153: iload         8
     155: istore        9
     157: astore        16
     159: iconst_0
     160: istore        10
     162: iconst_2
     163: anewarray     #26                 // class java/lang/Integer
     166: astore        11
     168: aload         11
     170: iconst_0
     171: iconst_0
     172: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     175: aastore
     176: aload         11
     178: iconst_1
     179: iconst_1
     180: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     183: aastore
     184: aload         11
     186: invokestatic  #42                 // Method kotlin/collections/CollectionsKt.mutableListOf:([Ljava/lang/Object;)Ljava/util/List;
     189: aload         16
     191: swap
     192: invokevirtual #34                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
     195: pop
     196: iinc          7, 1
     199: goto          141
     202: aload         6
     204: checkcast     #36                 // class java/util/List
     207: astore        5
     209: iconst_0
     210: istore        6
     212: aload_1
     213: checkcast     #44                 // class java/util/Collection
     216: invokestatic  #48                 // Method kotlin/collections/CollectionsKt.getIndices:(Ljava/util/Collection;)Lkotlin/ranges/IntRange;
     219: checkcast     #50                 // class java/lang/Iterable
     222: astore        7
     224: iconst_0
     225: istore        8
     227: aload         7
     229: astore        9
     231: new           #20                 // class java/util/ArrayList
     234: dup
     235: aload         7
     237: bipush        10
     239: invokestatic  #54                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
     242: invokespecial #24                 // Method java/util/ArrayList."<init>":(I)V
     245: checkcast     #44                 // class java/util/Collection
     248: astore        10
     250: iconst_0
     251: istore        11
     253: aload         9
     255: invokeinterface #58,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
     260: astore        12
     262: aload         12
     264: invokeinterface #64,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     269: ifeq          328
     272: aload         12
     274: checkcast     #66                 // class kotlin/collections/IntIterator
     277: invokevirtual #70                 // Method kotlin/collections/IntIterator.nextInt:()I
     280: istore        13
     282: aload         10
     284: iload         13
     286: istore        14
     288: astore        16
     290: iconst_0
     291: istore        15
     293: iload         6
     295: aload_2
     296: aload         5
     298: aload         4
     300: aload_1
     301: iload_0
     302: aload_3
     303: iload         14
     305: invokestatic  #74                 // Method solve$spend:(Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;ILjava/util/List;I)I
     308: iadd
     309: istore        6
     311: iload         6
     313: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     316: aload         16
     318: swap
     319: invokeinterface #75,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
     324: pop
     325: goto          262
     328: aload         10
     330: checkcast     #36                 // class java/util/List
     333: nop
     334: areturn

  public static final void main();
    Code:
       0: invokestatic  #101                // Method readInts:()Ljava/util/List;
       3: iconst_1
       4: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
       9: checkcast     #107                // class java/lang/Number
      12: invokevirtual #110                // Method java/lang/Number.intValue:()I
      15: istore_0
      16: invokestatic  #114                // Method readLn:()Ljava/lang/String;
      19: checkcast     #116                // class java/lang/CharSequence
      22: astore_2
      23: iconst_0
      24: istore_3
      25: aload_2
      26: astore        4
      28: new           #20                 // class java/util/ArrayList
      31: dup
      32: aload_2
      33: invokeinterface #119,  1          // InterfaceMethod java/lang/CharSequence.length:()I
      38: invokespecial #24                 // Method java/util/ArrayList."<init>":(I)V
      41: checkcast     #44                 // class java/util/Collection
      44: astore        5
      46: iconst_0
      47: istore        6
      49: iconst_0
      50: istore        7
      52: iload         7
      54: aload         4
      56: invokeinterface #119,  1          // InterfaceMethod java/lang/CharSequence.length:()I
      61: if_icmpge     109
      64: aload         4
      66: iload         7
      68: invokeinterface #123,  2          // InterfaceMethod java/lang/CharSequence.charAt:(I)C
      73: istore        8
      75: aload         5
      77: iload         8
      79: istore        9
      81: astore        12
      83: iconst_0
      84: istore        10
      86: bipush        49
      88: iload         9
      90: isub
      91: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      94: aload         12
      96: swap
      97: invokeinterface #75,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
     102: pop
     103: iinc          7, 1
     106: goto          52
     109: aload         5
     111: checkcast     #36                 // class java/util/List
     114: nop
     115: astore_1
     116: aload_1
     117: invokeinterface #126,  1          // InterfaceMethod java/util/List.size:()I
     122: istore_3
     123: new           #20                 // class java/util/ArrayList
     126: dup
     127: iload_3
     128: invokespecial #24                 // Method java/util/ArrayList."<init>":(I)V
     131: astore        4
     133: iconst_0
     134: istore        5
     136: iload         5
     138: iload_3
     139: if_icmpge     181
     142: iload         5
     144: istore        6
     146: aload         4
     148: iload         6
     150: istore        7
     152: astore        12
     154: iconst_0
     155: istore        8
     157: new           #20                 // class java/util/ArrayList
     160: dup
     161: invokespecial #128                // Method java/util/ArrayList."<init>":()V
     164: checkcast     #36                 // class java/util/List
     167: nop
     168: aload         12
     170: swap
     171: invokevirtual #34                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
     174: pop
     175: iinc          5, 1
     178: goto          136
     181: aload         4
     183: checkcast     #36                 // class java/util/List
     186: astore_2
     187: iconst_0
     188: istore_3
     189: iload_3
     190: iload_0
     191: if_icmpge     292
     194: iload_3
     195: istore        4
     197: iconst_0
     198: istore        5
     200: invokestatic  #114                // Method readLn:()Ljava/lang/String;
     203: pop
     204: invokestatic  #101                // Method readInts:()Ljava/util/List;
     207: checkcast     #50                 // class java/lang/Iterable
     210: astore        6
     212: iconst_0
     213: istore        7
     215: aload         6
     217: invokeinterface #58,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
     222: astore        8
     224: aload         8
     226: invokeinterface #64,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     231: ifeq          284
     234: aload         8
     236: invokeinterface #132,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     241: astore        9
     243: aload         9
     245: checkcast     #107                // class java/lang/Number
     248: invokevirtual #110                // Method java/lang/Number.intValue:()I
     251: istore        10
     253: iconst_0
     254: istore        11
     256: aload_2
     257: iload         10
     259: iconst_1
     260: isub
     261: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     266: checkcast     #36                 // class java/util/List
     269: iload         4
     271: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     274: invokeinterface #133,  2          // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
     279: pop
     280: nop
     281: goto          224
     284: nop
     285: nop
     286: iinc          3, 1
     289: goto          189
     292: iload_0
     293: aload_1
     294: aload_2
     295: invokestatic  #135                // Method solve:(ILjava/util/List;Ljava/util/List;)Ljava/util/List;
     298: checkcast     #50                 // class java/lang/Iterable
     301: ldc           #137                // String \n
     303: checkcast     #116                // class java/lang/CharSequence
     306: aconst_null
     307: aconst_null
     308: iconst_0
     309: aconst_null
     310: aconst_null
     311: bipush        62
     313: aconst_null
     314: invokestatic  #141                // Method kotlin/collections/CollectionsKt.joinToString$default:(Ljava/lang/Iterable;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ILjava/lang/CharSequence;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/String;
     317: getstatic     #147                // Field java/lang/System.out:Ljava/io/PrintStream;
     320: swap
     321: invokevirtual #153                // Method java/io/PrintStream.println:(Ljava/lang/Object;)V
     324: return

  private static final java.lang.String readLn();
    Code:
       0: invokestatic  #169                // Method kotlin/io/ConsoleKt.readLine:()Ljava/lang/String;
       3: dup
       4: invokestatic  #172                // 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  #114                // Method readLn:()Ljava/lang/String;
       3: checkcast     #116                // class java/lang/CharSequence
       6: iconst_1
       7: anewarray     #176                // class java/lang/String
      10: astore_0
      11: aload_0
      12: iconst_0
      13: ldc           #178                // String
      15: aastore
      16: aload_0
      17: iconst_0
      18: iconst_0
      19: bipush        6
      21: aconst_null
      22: invokestatic  #184                // 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  #187                // Method readStrings:()Ljava/util/List;
       3: checkcast     #50                 // class java/lang/Iterable
       6: astore_0
       7: iconst_0
       8: istore_1
       9: aload_0
      10: astore_2
      11: new           #20                 // class java/util/ArrayList
      14: dup
      15: aload_0
      16: bipush        10
      18: invokestatic  #54                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
      21: invokespecial #24                 // Method java/util/ArrayList."<init>":(I)V
      24: checkcast     #44                 // class java/util/Collection
      27: astore_3
      28: iconst_0
      29: istore        4
      31: aload_2
      32: invokeinterface #58,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
      37: astore        5
      39: aload         5
      41: invokeinterface #64,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      46: ifeq          92
      49: aload         5
      51: invokeinterface #132,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      56: astore        6
      58: aload_3
      59: aload         6
      61: checkcast     #176                // class java/lang/String
      64: astore        7
      66: astore        9
      68: iconst_0
      69: istore        8
      71: aload         7
      73: invokestatic  #191                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
      76: nop
      77: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      80: aload         9
      82: swap
      83: invokeinterface #75,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
      88: pop
      89: goto          39
      92: aload_3
      93: checkcast     #36                 // class java/util/List
      96: nop
      97: areturn

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

  private static final int solve$get(java.util.List<java.lang.Integer>, java.util.List<java.lang.Integer>, int);
    Code:
       0: aload_0
       1: iload_2
       2: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
       7: checkcast     #107                // class java/lang/Number
      10: invokevirtual #110                // Method java/lang/Number.intValue:()I
      13: iload_2
      14: if_icmpne     19
      17: iload_2
      18: ireturn
      19: aload_0
      20: iload_2
      21: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      26: checkcast     #107                // class java/lang/Number
      29: invokevirtual #110                // Method java/lang/Number.intValue:()I
      32: istore_3
      33: aload_0
      34: iload_2
      35: aload_0
      36: aload_1
      37: iload_3
      38: invokestatic  #203                // Method solve$get:(Ljava/util/List;Ljava/util/List;I)I
      41: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      44: invokeinterface #207,  3          // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
      49: pop
      50: aload_1
      51: iload_2
      52: aload_1
      53: iload_2
      54: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      59: checkcast     #107                // class java/lang/Number
      62: invokevirtual #110                // Method java/lang/Number.intValue:()I
      65: aload_1
      66: iload_3
      67: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      72: checkcast     #107                // class java/lang/Number
      75: invokevirtual #110                // Method java/lang/Number.intValue:()I
      78: ixor
      79: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      82: invokeinterface #207,  3          // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
      87: pop
      88: aload_0
      89: iload_2
      90: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      95: checkcast     #107                // class java/lang/Number
      98: invokevirtual #110                // Method java/lang/Number.intValue:()I
     101: ireturn

  private static final int solve$spend(java.util.List<? extends java.util.List<java.lang.Integer>>, java.util.List<? extends java.util.List<java.lang.Integer>>, java.util.List<java.lang.Integer>, java.util.List<java.lang.Integer>, int, java.util.List<java.lang.Integer>, int);
    Code:
       0: aload_0
       1: iload         6
       3: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
       8: checkcast     #36                 // class java/util/List
      11: invokeinterface #213,  1          // InterfaceMethod java/util/List.isEmpty:()Z
      16: ifeq          21
      19: iconst_0
      20: ireturn
      21: aload_0
      22: iload         6
      24: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      29: checkcast     #36                 // class java/util/List
      32: invokeinterface #126,  1          // InterfaceMethod java/util/List.size:()I
      37: iconst_1
      38: if_icmpne     185
      41: aload_0
      42: iload         6
      44: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      49: checkcast     #36                 // class java/util/List
      52: iconst_0
      53: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      58: checkcast     #107                // class java/lang/Number
      61: invokevirtual #110                // Method java/lang/Number.intValue:()I
      64: istore        8
      66: aload         5
      68: aload_2
      69: iload         8
      71: invokestatic  #203                // Method solve$get:(Ljava/util/List;Ljava/util/List;I)I
      74: istore        9
      76: aload_1
      77: iload         9
      79: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      84: checkcast     #50                 // class java/lang/Iterable
      87: invokestatic  #217                // Method kotlin/collections/CollectionsKt.minOrNull:(Ljava/lang/Iterable;)Ljava/lang/Comparable;
      90: dup
      91: invokestatic  #172                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
      94: checkcast     #107                // class java/lang/Number
      97: invokevirtual #110                // Method java/lang/Number.intValue:()I
     100: istore        10
     102: aload_1
     103: iload         9
     105: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     110: checkcast     #36                 // class java/util/List
     113: aload_2
     114: iload         8
     116: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     121: checkcast     #107                // class java/lang/Number
     124: invokevirtual #110                // Method java/lang/Number.intValue:()I
     127: aload_3
     128: iload         6
     130: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     135: checkcast     #107                // class java/lang/Number
     138: invokevirtual #110                // Method java/lang/Number.intValue:()I
     141: ixor
     142: iconst_1
     143: ixor
     144: iload         4
     146: iconst_1
     147: iadd
     148: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     151: invokeinterface #207,  3          // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     156: pop
     157: aload_1
     158: iload         9
     160: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     165: checkcast     #50                 // class java/lang/Iterable
     168: invokestatic  #217                // Method kotlin/collections/CollectionsKt.minOrNull:(Ljava/lang/Iterable;)Ljava/lang/Comparable;
     171: dup
     172: invokestatic  #172                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
     175: checkcast     #107                // class java/lang/Number
     178: invokevirtual #110                // Method java/lang/Number.intValue:()I
     181: iload         10
     183: isub
     184: ireturn
     185: aload_0
     186: iload         6
     188: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     193: checkcast     #36                 // class java/util/List
     196: astore        9
     198: iconst_0
     199: istore        10
     201: iload         6
     203: aload         9
     205: invokevirtual #220                // Method java/lang/Object.hashCode:()I
     208: iadd
     209: iconst_2
     210: irem
     211: ifne          219
     214: aload         9
     216: goto          227
     219: aload         9
     221: checkcast     #50                 // class java/lang/Iterable
     224: invokestatic  #224                // Method kotlin/collections/CollectionsKt.reversed:(Ljava/lang/Iterable;)Ljava/util/List;
     227: nop
     228: astore        7
     230: aload         7
     232: iconst_0
     233: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     238: checkcast     #107                // class java/lang/Number
     241: invokevirtual #110                // Method java/lang/Number.intValue:()I
     244: istore        8
     246: aload         7
     248: iconst_1
     249: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     254: checkcast     #107                // class java/lang/Number
     257: invokevirtual #110                // Method java/lang/Number.intValue:()I
     260: istore        9
     262: aload         5
     264: aload_2
     265: iload         8
     267: invokestatic  #203                // Method solve$get:(Ljava/util/List;Ljava/util/List;I)I
     270: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     273: aload         5
     275: aload_2
     276: iload         9
     278: invokestatic  #203                // Method solve$get:(Ljava/util/List;Ljava/util/List;I)I
     281: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     284: invokestatic  #230                // Method kotlin/TuplesKt.to:(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
     287: astore        10
     289: aload         10
     291: invokevirtual #235                // Method kotlin/Pair.component1:()Ljava/lang/Object;
     294: checkcast     #107                // class java/lang/Number
     297: invokevirtual #110                // Method java/lang/Number.intValue:()I
     300: istore        11
     302: aload         10
     304: invokevirtual #238                // Method kotlin/Pair.component2:()Ljava/lang/Object;
     307: checkcast     #107                // class java/lang/Number
     310: invokevirtual #110                // Method java/lang/Number.intValue:()I
     313: istore        12
     315: iload         11
     317: iload         12
     319: if_icmpne     324
     322: iconst_0
     323: ireturn
     324: aload         5
     326: iload         11
     328: iload         12
     330: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     333: invokeinterface #207,  3          // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     338: pop
     339: aload_2
     340: iload         11
     342: aload_2
     343: iload         8
     345: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     350: checkcast     #107                // class java/lang/Number
     353: invokevirtual #110                // Method java/lang/Number.intValue:()I
     356: aload_2
     357: iload         9
     359: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     364: checkcast     #107                // class java/lang/Number
     367: invokevirtual #110                // Method java/lang/Number.intValue:()I
     370: ixor
     371: aload_3
     372: iload         6
     374: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     379: checkcast     #107                // class java/lang/Number
     382: invokevirtual #110                // Method java/lang/Number.intValue:()I
     385: ixor
     386: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     389: invokeinterface #207,  3          // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     394: pop
     395: aload_1
     396: iload         11
     398: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     403: checkcast     #50                 // class java/lang/Iterable
     406: invokestatic  #217                // Method kotlin/collections/CollectionsKt.minOrNull:(Ljava/lang/Iterable;)Ljava/lang/Comparable;
     409: dup
     410: invokestatic  #172                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
     413: checkcast     #107                // class java/lang/Number
     416: invokevirtual #110                // Method java/lang/Number.intValue:()I
     419: aload_1
     420: iload         12
     422: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     427: checkcast     #50                 // class java/lang/Iterable
     430: invokestatic  #217                // Method kotlin/collections/CollectionsKt.minOrNull:(Ljava/lang/Iterable;)Ljava/lang/Comparable;
     433: dup
     434: invokestatic  #172                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
     437: checkcast     #107                // class java/lang/Number
     440: invokevirtual #110                // Method java/lang/Number.intValue:()I
     443: iadd
     444: istore        13
     446: iconst_0
     447: istore        14
     449: iload         14
     451: iconst_2
     452: if_icmpge     554
     455: aload_1
     456: iload         12
     458: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     463: checkcast     #36                 // class java/util/List
     466: iload         14
     468: aload_1
     469: iload         12
     471: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     476: checkcast     #36                 // class java/util/List
     479: iload         14
     481: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     486: checkcast     #107                // class java/lang/Number
     489: invokevirtual #110                // Method java/lang/Number.intValue:()I
     492: aload_1
     493: iload         11
     495: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     500: checkcast     #36                 // class java/util/List
     503: iload         14
     505: aload_2
     506: iload         11
     508: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     513: checkcast     #107                // class java/lang/Number
     516: invokevirtual #110                // Method java/lang/Number.intValue:()I
     519: ixor
     520: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     525: checkcast     #107                // class java/lang/Number
     528: invokevirtual #110                // Method java/lang/Number.intValue:()I
     531: iadd
     532: iload         4
     534: iconst_1
     535: iadd
     536: invokestatic  #244                // Method java/lang/Math.min:(II)I
     539: invokestatic  #30                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     542: invokeinterface #207,  3          // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     547: pop
     548: iinc          14, 1
     551: goto          449
     554: aload_1
     555: iload         12
     557: invokeinterface #105,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     562: checkcast     #50                 // class java/lang/Iterable
     565: invokestatic  #217                // Method kotlin/collections/CollectionsKt.minOrNull:(Ljava/lang/Iterable;)Ljava/lang/Comparable;
     568: dup
     569: invokestatic  #172                // Method kotlin/jvm/internal/Intrinsics.checkNotNull:(Ljava/lang/Object;)V
     572: checkcast     #107                // class java/lang/Number
     575: invokevirtual #110                // Method java/lang/Number.intValue:()I
     578: iload         13
     580: isub
     581: ireturn
}


package codeforces.round872

import java.util.*

fun main() {
	val n = readInt()
	val a = readInts()
	val nei = List(n) { mutableListOf<Int>() }
	repeat(n - 1) {
		val (u, v) = readInts().map { it - 1 }
		nei[u].add(v); nei[v].add(u)
	}
	val price = IntArray(n)
	val niceXor = IntArray(n)
	val temp = TreeSet<Int>()
	val nice = MutableList(n) { temp }
	fun dfs(v: Int, p: Int) {
		var kids = 0
		for (u in nei[v]) if (u != p) {
			dfs(u, v)
			price[v] += price[u]
			kids++
		}
		if (kids == 0) {
			nice[v] = TreeSet<Int>().apply { add(a[v]) }
			return
		}
		if (kids == 1) {
			val u = nei[v].first { it != p }
			nice[v] = nice[u]
			niceXor[v] = niceXor[u] xor a[v]
			return
		}
		val uu = nei[v].maxBy { nice[it].size }
		val counter = TreeMap<Int, Int>()
		for (u in nei[v]) if (u != p && u != uu) {
			for (x in nice[u]) {
				val y = x xor niceXor[u]
				counter[y] = counter.getOrDefault(y, 0) + 1
			}
		}
		val maxCount = counter.entries.maxOf { it.value }
		val other = TreeSet(counter.filter { it.value == maxCount }.map { it.key })
		val niceUU = nice[uu]
		val niceXorUU = niceXor[uu]
		fun unite(set1: TreeSet<Int>, xor1: Int, set2: TreeSet<Int>, xor2: Int) {
			if (set1.size < set2.size) return unite(set2, xor2, set1, xor1)
			val xor12 = xor1 xor xor2
			val common = TreeSet<Int>()
			for (x in set2) {
				if (set1.contains(x xor xor12)) common.add(x xor xor2)
			}
			price[v] = kids - maxCount
			if (common.isNotEmpty()) {
				price[v]--
				nice[v] = common
				return
			}
			for (x in set2) {
				set1.add(x xor xor12)
			}
			nice[v] = set1
			niceXor[v] = xor1
		}
		unite(niceUU, niceXorUU, other, 0)
		niceXor[v] = niceXor[v] xor a[v]
	}
	dfs(0, -1)
	println(price[0])
}

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

Compiled from "c_to_upsolve.kt"
public final class codeforces.round872.C_to_upsolveKt {
  public static final void main();
    Code:
       0: invokestatic  #10                 // Method readInt:()I
       3: istore_0
       4: invokestatic  #14                 // Method readInts:()Ljava/util/List;
       7: astore_1
       8: new           #16                 // class java/util/ArrayList
      11: dup
      12: iload_0
      13: invokespecial #20                 // Method java/util/ArrayList."<init>":(I)V
      16: astore_3
      17: iconst_0
      18: istore        4
      20: iload         4
      22: iload_0
      23: if_icmpge     64
      26: iload         4
      28: istore        5
      30: aload_3
      31: iload         5
      33: istore        6
      35: astore        18
      37: iconst_0
      38: istore        7
      40: new           #16                 // class java/util/ArrayList
      43: dup
      44: invokespecial #22                 // Method java/util/ArrayList."<init>":()V
      47: checkcast     #24                 // class java/util/List
      50: nop
      51: aload         18
      53: swap
      54: invokevirtual #28                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
      57: pop
      58: iinc          4, 1
      61: goto          20
      64: aload_3
      65: checkcast     #24                 // class java/util/List
      68: astore_2
      69: iload_0
      70: iconst_1
      71: isub
      72: istore_3
      73: iconst_0
      74: istore        4
      76: iload         4
      78: iload_3
      79: if_icmpge     281
      82: iload         4
      84: istore        5
      86: iconst_0
      87: istore        6
      89: invokestatic  #14                 // Method readInts:()Ljava/util/List;
      92: checkcast     #30                 // class java/lang/Iterable
      95: astore        7
      97: iconst_0
      98: istore        8
     100: aload         7
     102: astore        9
     104: new           #16                 // class java/util/ArrayList
     107: dup
     108: aload         7
     110: bipush        10
     112: invokestatic  #36                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
     115: invokespecial #20                 // Method java/util/ArrayList."<init>":(I)V
     118: checkcast     #38                 // class java/util/Collection
     121: astore        10
     123: iconst_0
     124: istore        11
     126: aload         9
     128: invokeinterface #42,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
     133: astore        12
     135: aload         12
     137: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     142: ifeq          190
     145: aload         12
     147: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     152: astore        13
     154: aload         10
     156: aload         13
     158: checkcast     #54                 // class java/lang/Number
     161: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     164: istore        14
     166: astore        15
     168: iconst_0
     169: istore        16
     171: iload         14
     173: iconst_1
     174: isub
     175: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     178: aload         15
     180: swap
     181: invokeinterface #64,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
     186: pop
     187: goto          135
     190: aload         10
     192: checkcast     #24                 // class java/util/List
     195: nop
     196: astore        17
     198: aload         17
     200: iconst_0
     201: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     206: checkcast     #54                 // class java/lang/Number
     209: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     212: istore        7
     214: aload         17
     216: iconst_1
     217: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     222: checkcast     #54                 // class java/lang/Number
     225: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     228: istore        8
     230: aload_2
     231: iload         7
     233: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     238: checkcast     #24                 // class java/util/List
     241: iload         8
     243: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     246: invokeinterface #69,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
     251: pop
     252: aload_2
     253: iload         8
     255: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     260: checkcast     #24                 // class java/util/List
     263: iload         7
     265: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     268: invokeinterface #69,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
     273: pop
     274: nop
     275: iinc          4, 1
     278: goto          76
     281: iload_0
     282: newarray       int
     284: astore_3
     285: iload_0
     286: newarray       int
     288: astore        4
     290: new           #71                 // class java/util/TreeSet
     293: dup
     294: invokespecial #72                 // Method java/util/TreeSet."<init>":()V
     297: astore        5
     299: new           #16                 // class java/util/ArrayList
     302: dup
     303: iload_0
     304: invokespecial #20                 // Method java/util/ArrayList."<init>":(I)V
     307: astore        7
     309: iconst_0
     310: istore        8
     312: iload         8
     314: iload_0
     315: if_icmpge     348
     318: iload         8
     320: istore        9
     322: aload         7
     324: iload         9
     326: istore        10
     328: astore        18
     330: iconst_0
     331: istore        11
     333: aload         5
     335: aload         18
     337: swap
     338: invokevirtual #28                 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
     341: pop
     342: iinc          8, 1
     345: goto          312
     348: aload         7
     350: checkcast     #24                 // class java/util/List
     353: astore        6
     355: aload_2
     356: aload_3
     357: aload         6
     359: aload         4
     361: aload_1
     362: iconst_0
     363: iconst_m1
     364: invokestatic  #76                 // Method main$dfs:(Ljava/util/List;[ILjava/util/List;[ILjava/util/List;II)V
     367: aload_3
     368: iconst_0
     369: iaload
     370: istore        7
     372: getstatic     #82                 // Field java/lang/System.out:Ljava/io/PrintStream;
     375: iload         7
     377: invokevirtual #87                 // Method java/io/PrintStream.println:(I)V
     380: return

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

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

  private static final java.util.List<java.lang.String> readStrings();
    Code:
       0: invokestatic  #130                // Method readLn:()Ljava/lang/String;
       3: checkcast     #138                // class java/lang/CharSequence
       6: iconst_1
       7: anewarray     #140                // class java/lang/String
      10: astore_0
      11: aload_0
      12: iconst_0
      13: ldc           #142                // String
      15: aastore
      16: aload_0
      17: iconst_0
      18: iconst_0
      19: bipush        6
      21: aconst_null
      22: invokestatic  #148                // 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  #151                // Method readStrings:()Ljava/util/List;
       3: checkcast     #30                 // class java/lang/Iterable
       6: astore_0
       7: iconst_0
       8: istore_1
       9: aload_0
      10: astore_2
      11: new           #16                 // class java/util/ArrayList
      14: dup
      15: aload_0
      16: bipush        10
      18: invokestatic  #36                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
      21: invokespecial #20                 // Method java/util/ArrayList."<init>":(I)V
      24: checkcast     #38                 // class java/util/Collection
      27: astore_3
      28: iconst_0
      29: istore        4
      31: aload_2
      32: invokeinterface #42,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
      37: astore        5
      39: aload         5
      41: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      46: ifeq          92
      49: aload         5
      51: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      56: astore        6
      58: aload_3
      59: aload         6
      61: checkcast     #140                // class java/lang/String
      64: astore        7
      66: astore        9
      68: iconst_0
      69: istore        8
      71: aload         7
      73: invokestatic  #134                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
      76: nop
      77: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      80: aload         9
      82: swap
      83: invokeinterface #64,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
      88: pop
      89: goto          39
      92: aload_3
      93: checkcast     #24                 // class java/util/List
      96: nop
      97: areturn

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

  private static final void main$dfs$unite(int[], int, kotlin.jvm.internal.Ref$IntRef, int, java.util.List<java.util.TreeSet<java.lang.Integer>>, int[], java.util.TreeSet<java.lang.Integer>, int, java.util.TreeSet<java.lang.Integer>, int);
    Code:
       0: aload         6
       2: invokevirtual #164                // Method java/util/TreeSet.size:()I
       5: aload         8
       7: invokevirtual #164                // Method java/util/TreeSet.size:()I
      10: if_icmpge     33
      13: aload_0
      14: iload_1
      15: aload_2
      16: iload_3
      17: aload         4
      19: aload         5
      21: aload         8
      23: iload         9
      25: aload         6
      27: iload         7
      29: invokestatic  #166                // Method main$dfs$unite:([IILkotlin/jvm/internal/Ref$IntRef;ILjava/util/List;[ILjava/util/TreeSet;ILjava/util/TreeSet;I)V
      32: return
      33: iload         7
      35: iload         9
      37: ixor
      38: istore        10
      40: new           #71                 // class java/util/TreeSet
      43: dup
      44: invokespecial #72                 // Method java/util/TreeSet."<init>":()V
      47: astore        11
      49: aload         8
      51: invokevirtual #167                // Method java/util/TreeSet.iterator:()Ljava/util/Iterator;
      54: dup
      55: ldc           #169                // String iterator(...)
      57: invokestatic  #173                // Method kotlin/jvm/internal/Intrinsics.checkNotNullExpressionValue:(Ljava/lang/Object;Ljava/lang/String;)V
      60: astore        12
      62: aload         12
      64: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      69: ifeq          120
      72: aload         12
      74: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      79: checkcast     #54                 // class java/lang/Number
      82: invokevirtual #57                 // Method java/lang/Number.intValue:()I
      85: istore        13
      87: aload         6
      89: iload         13
      91: iload         10
      93: ixor
      94: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      97: invokevirtual #176                // Method java/util/TreeSet.contains:(Ljava/lang/Object;)Z
     100: ifeq          62
     103: aload         11
     105: iload         13
     107: iload         9
     109: ixor
     110: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     113: invokevirtual #177                // Method java/util/TreeSet.add:(Ljava/lang/Object;)Z
     116: pop
     117: goto          62
     120: aload_0
     121: iload_1
     122: aload_2
     123: getfield      #182                // Field kotlin/jvm/internal/Ref$IntRef.element:I
     126: iload_3
     127: isub
     128: iastore
     129: aload         11
     131: checkcast     #38                 // class java/util/Collection
     134: invokeinterface #185,  1          // InterfaceMethod java/util/Collection.isEmpty:()Z
     139: ifne          146
     142: iconst_1
     143: goto          147
     146: iconst_0
     147: ifeq          174
     150: aload_0
     151: iload_1
     152: iaload
     153: istore        12
     155: aload_0
     156: iload_1
     157: iload         12
     159: iconst_m1
     160: iadd
     161: iastore
     162: aload         4
     164: iload_1
     165: aload         11
     167: invokeinterface #189,  3          // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     172: pop
     173: return
     174: aload         8
     176: invokevirtual #167                // Method java/util/TreeSet.iterator:()Ljava/util/Iterator;
     179: dup
     180: ldc           #169                // String iterator(...)
     182: invokestatic  #173                // Method kotlin/jvm/internal/Intrinsics.checkNotNullExpressionValue:(Ljava/lang/Object;Ljava/lang/String;)V
     185: astore        12
     187: aload         12
     189: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     194: ifeq          229
     197: aload         12
     199: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     204: checkcast     #54                 // class java/lang/Number
     207: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     210: istore        13
     212: aload         6
     214: iload         13
     216: iload         10
     218: ixor
     219: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     222: invokevirtual #177                // Method java/util/TreeSet.add:(Ljava/lang/Object;)Z
     225: pop
     226: goto          187
     229: aload         4
     231: iload_1
     232: aload         6
     234: invokeinterface #189,  3          // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     239: pop
     240: aload         5
     242: iload_1
     243: iload         7
     245: iastore
     246: return

  private static final void main$dfs(java.util.List<? extends java.util.List<java.lang.Integer>>, int[], java.util.List<java.util.TreeSet<java.lang.Integer>>, int[], java.util.List<java.lang.Integer>, int, int);
    Code:
       0: new           #179                // class kotlin/jvm/internal/Ref$IntRef
       3: dup
       4: invokespecial #202                // Method kotlin/jvm/internal/Ref$IntRef."<init>":()V
       7: astore        7
       9: aload_0
      10: iload         5
      12: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      17: checkcast     #24                 // class java/util/List
      20: invokeinterface #203,  1          // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
      25: astore        8
      27: aload         8
      29: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      34: ifeq          104
      37: aload         8
      39: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      44: checkcast     #54                 // class java/lang/Number
      47: invokevirtual #57                 // Method java/lang/Number.intValue:()I
      50: istore        9
      52: iload         9
      54: iload         6
      56: if_icmpeq     27
      59: aload_0
      60: aload_1
      61: aload_2
      62: aload_3
      63: aload         4
      65: iload         9
      67: iload         5
      69: invokestatic  #76                 // Method main$dfs:(Ljava/util/List;[ILjava/util/List;[ILjava/util/List;II)V
      72: aload_1
      73: iload         5
      75: aload_1
      76: iload         5
      78: iaload
      79: aload_1
      80: iload         9
      82: iaload
      83: iadd
      84: iastore
      85: aload         7
      87: getfield      #182                // Field kotlin/jvm/internal/Ref$IntRef.element:I
      90: istore        10
      92: aload         7
      94: iload         10
      96: iconst_1
      97: iadd
      98: putfield      #182                // Field kotlin/jvm/internal/Ref$IntRef.element:I
     101: goto          27
     104: aload         7
     106: getfield      #182                // Field kotlin/jvm/internal/Ref$IntRef.element:I
     109: ifne          168
     112: aload_2
     113: iload         5
     115: new           #71                 // class java/util/TreeSet
     118: dup
     119: invokespecial #72                 // Method java/util/TreeSet."<init>":()V
     122: astore        8
     124: aload         8
     126: astore        9
     128: istore        22
     130: astore        21
     132: iconst_0
     133: istore        10
     135: aload         9
     137: aload         4
     139: iload         5
     141: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     146: invokevirtual #177                // Method java/util/TreeSet.add:(Ljava/lang/Object;)Z
     149: pop
     150: getstatic     #209                // Field kotlin/Unit.INSTANCE:Lkotlin/Unit;
     153: astore        23
     155: aload         21
     157: iload         22
     159: aload         8
     161: invokeinterface #189,  3          // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     166: pop
     167: return
     168: aload         7
     170: getfield      #182                // Field kotlin/jvm/internal/Ref$IntRef.element:I
     173: iconst_1
     174: if_icmpne     314
     177: aload_0
     178: iload         5
     180: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     185: checkcast     #30                 // class java/lang/Iterable
     188: astore        9
     190: iconst_0
     191: istore        10
     193: aload         9
     195: invokeinterface #42,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
     200: astore        11
     202: aload         11
     204: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     209: ifeq          254
     212: aload         11
     214: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     219: astore        12
     221: aload         12
     223: checkcast     #54                 // class java/lang/Number
     226: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     229: istore        13
     231: iconst_0
     232: istore        14
     234: iload         13
     236: iload         6
     238: if_icmpeq     245
     241: iconst_1
     242: goto          246
     245: iconst_0
     246: ifeq          202
     249: aload         12
     251: goto          264
     254: new           #211                // class java/util/NoSuchElementException
     257: dup
     258: ldc           #213                // String Collection contains no element matching the predicate.
     260: invokespecial #216                // Method java/util/NoSuchElementException."<init>":(Ljava/lang/String;)V
     263: athrow
     264: checkcast     #54                 // class java/lang/Number
     267: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     270: istore        8
     272: aload_2
     273: iload         5
     275: aload_2
     276: iload         8
     278: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     283: invokeinterface #189,  3          // InterfaceMethod java/util/List.set:(ILjava/lang/Object;)Ljava/lang/Object;
     288: pop
     289: aload_3
     290: iload         5
     292: aload_3
     293: iload         8
     295: iaload
     296: aload         4
     298: iload         5
     300: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     305: checkcast     #54                 // class java/lang/Number
     308: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     311: ixor
     312: iastore
     313: return
     314: aload_0
     315: iload         5
     317: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     322: checkcast     #30                 // class java/lang/Iterable
     325: astore        9
     327: iconst_0
     328: istore        10
     330: aload         9
     332: invokeinterface #42,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
     337: astore        11
     339: aload         11
     341: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     346: ifne          357
     349: new           #211                // class java/util/NoSuchElementException
     352: dup
     353: invokespecial #217                // Method java/util/NoSuchElementException."<init>":()V
     356: athrow
     357: aload         11
     359: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     364: astore        12
     366: aload         11
     368: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     373: ifne          381
     376: aload         12
     378: goto          475
     381: aload         12
     383: checkcast     #54                 // class java/lang/Number
     386: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     389: istore        13
     391: iconst_0
     392: istore        14
     394: aload_2
     395: iload         13
     397: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     402: checkcast     #71                 // class java/util/TreeSet
     405: invokevirtual #164                // Method java/util/TreeSet.size:()I
     408: istore        13
     410: aload         11
     412: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     417: astore        14
     419: aload         14
     421: checkcast     #54                 // class java/lang/Number
     424: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     427: istore        15
     429: iconst_0
     430: istore        16
     432: aload_2
     433: iload         15
     435: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     440: checkcast     #71                 // class java/util/TreeSet
     443: invokevirtual #164                // Method java/util/TreeSet.size:()I
     446: istore        15
     448: iload         13
     450: iload         15
     452: if_icmpge     463
     455: aload         14
     457: astore        12
     459: iload         15
     461: istore        13
     463: aload         11
     465: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     470: ifne          410
     473: aload         12
     475: checkcast     #54                 // class java/lang/Number
     478: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     481: istore        8
     483: new           #219                // class java/util/TreeMap
     486: dup
     487: invokespecial #220                // Method java/util/TreeMap."<init>":()V
     490: astore        9
     492: aload_0
     493: iload         5
     495: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     500: checkcast     #24                 // class java/util/List
     503: invokeinterface #203,  1          // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
     508: astore        10
     510: aload         10
     512: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     517: ifeq          653
     520: aload         10
     522: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     527: checkcast     #54                 // class java/lang/Number
     530: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     533: istore        11
     535: iload         11
     537: iload         6
     539: if_icmpeq     510
     542: iload         11
     544: iload         8
     546: if_icmpeq     510
     549: aload_2
     550: iload         11
     552: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     557: checkcast     #71                 // class java/util/TreeSet
     560: invokevirtual #167                // Method java/util/TreeSet.iterator:()Ljava/util/Iterator;
     563: dup
     564: ldc           #169                // String iterator(...)
     566: invokestatic  #173                // Method kotlin/jvm/internal/Intrinsics.checkNotNullExpressionValue:(Ljava/lang/Object;Ljava/lang/String;)V
     569: astore        12
     571: aload         12
     573: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     578: ifeq          510
     581: aload         12
     583: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     588: checkcast     #54                 // class java/lang/Number
     591: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     594: istore        13
     596: iload         13
     598: aload_3
     599: iload         11
     601: iaload
     602: ixor
     603: istore        14
     605: iload         14
     607: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     610: astore        16
     612: aload         9
     614: checkcast     #222                // class java/util/Map
     617: aload         16
     619: aload         9
     621: iload         14
     623: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     626: iconst_0
     627: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     630: invokevirtual #226                // Method java/util/TreeMap.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
     633: checkcast     #54                 // class java/lang/Number
     636: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     639: iconst_1
     640: iadd
     641: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     644: invokeinterface #229,  3          // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
     649: pop
     650: goto          571
     653: aload         9
     655: invokevirtual #233                // Method java/util/TreeMap.entrySet:()Ljava/util/Set;
     658: dup
     659: ldc           #235                // String <get-entries>(...)
     661: invokestatic  #173                // Method kotlin/jvm/internal/Intrinsics.checkNotNullExpressionValue:(Ljava/lang/Object;Ljava/lang/String;)V
     664: checkcast     #30                 // class java/lang/Iterable
     667: invokeinterface #42,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
     672: astore        12
     674: aload         12
     676: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     681: ifne          692
     684: new           #211                // class java/util/NoSuchElementException
     687: dup
     688: invokespecial #217                // Method java/util/NoSuchElementException."<init>":()V
     691: athrow
     692: aload         12
     694: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     699: checkcast     #237                // class java/util/Map$Entry
     702: astore        13
     704: iconst_0
     705: istore        14
     707: aload         13
     709: invokeinterface #240,  1          // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;
     714: dup
     715: ldc           #242                // String <get-value>(...)
     717: invokestatic  #173                // Method kotlin/jvm/internal/Intrinsics.checkNotNullExpressionValue:(Ljava/lang/Object;Ljava/lang/String;)V
     720: checkcast     #54                 // class java/lang/Number
     723: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     726: istore        13
     728: aload         12
     730: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     735: ifeq          788
     738: aload         12
     740: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     745: checkcast     #237                // class java/util/Map$Entry
     748: astore        14
     750: iconst_0
     751: istore        15
     753: aload         14
     755: invokeinterface #240,  1          // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;
     760: dup
     761: ldc           #242                // String <get-value>(...)
     763: invokestatic  #173                // Method kotlin/jvm/internal/Intrinsics.checkNotNullExpressionValue:(Ljava/lang/Object;Ljava/lang/String;)V
     766: checkcast     #54                 // class java/lang/Number
     769: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     772: istore        14
     774: iload         13
     776: iload         14
     778: if_icmpge     728
     781: iload         14
     783: istore        13
     785: goto          728
     788: iload         13
     790: istore        10
     792: aload         9
     794: checkcast     #222                // class java/util/Map
     797: astore        12
     799: iconst_0
     800: istore        13
     802: aload         12
     804: astore        14
     806: new           #244                // class java/util/LinkedHashMap
     809: dup
     810: invokespecial #245                // Method java/util/LinkedHashMap."<init>":()V
     813: checkcast     #222                // class java/util/Map
     816: astore        15
     818: iconst_0
     819: istore        16
     821: aload         14
     823: invokeinterface #246,  1          // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set;
     828: invokeinterface #249,  1          // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;
     833: astore        17
     835: aload         17
     837: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     842: ifeq          915
     845: aload         17
     847: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     852: checkcast     #237                // class java/util/Map$Entry
     855: astore        18
     857: aload         18
     859: astore        19
     861: iconst_0
     862: istore        20
     864: aload         19
     866: invokeinterface #240,  1          // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;
     871: checkcast     #54                 // class java/lang/Number
     874: invokevirtual #57                 // Method java/lang/Number.intValue:()I
     877: iload         10
     879: if_icmpne     886
     882: iconst_1
     883: goto          887
     886: iconst_0
     887: ifeq          835
     890: aload         15
     892: aload         18
     894: invokeinterface #252,  1          // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;
     899: aload         18
     901: invokeinterface #240,  1          // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;
     906: invokeinterface #229,  3          // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
     911: pop
     912: goto          835
     915: aload         15
     917: nop
     918: astore        12
     920: nop
     921: iconst_0
     922: istore        13
     924: aload         12
     926: astore        14
     928: new           #16                 // class java/util/ArrayList
     931: dup
     932: aload         12
     934: invokeinterface #253,  1          // InterfaceMethod java/util/Map.size:()I
     939: invokespecial #20                 // Method java/util/ArrayList."<init>":(I)V
     942: checkcast     #38                 // class java/util/Collection
     945: astore        15
     947: iconst_0
     948: istore        16
     950: aload         14
     952: invokeinterface #246,  1          // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set;
     957: invokeinterface #249,  1          // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;
     962: astore        17
     964: aload         17
     966: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     971: ifeq          1025
     974: aload         17
     976: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     981: checkcast     #237                // class java/util/Map$Entry
     984: astore        18
     986: aload         15
     988: aload         18
     990: astore        19
     992: astore        23
     994: iconst_0
     995: istore        20
     997: aload         19
     999: invokeinterface #252,  1          // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;
    1004: checkcast     #54                 // class java/lang/Number
    1007: invokevirtual #57                 // Method java/lang/Number.intValue:()I
    1010: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    1013: aload         23
    1015: swap
    1016: invokeinterface #64,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
    1021: pop
    1022: goto          964
    1025: aload         15
    1027: checkcast     #24                 // class java/util/List
    1030: nop
    1031: checkcast     #38                 // class java/util/Collection
    1034: astore        24
    1036: new           #71                 // class java/util/TreeSet
    1039: dup
    1040: aload         24
    1042: invokespecial #256                // Method java/util/TreeSet."<init>":(Ljava/util/Collection;)V
    1045: astore        11
    1047: aload_2
    1048: iload         8
    1050: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
    1055: checkcast     #71                 // class java/util/TreeSet
    1058: astore        12
    1060: aload_3
    1061: iload         8
    1063: iaload
    1064: istore        13
    1066: aload_1
    1067: iload         5
    1069: aload         7
    1071: iload         10
    1073: aload_2
    1074: aload_3
    1075: aload         12
    1077: iload         13
    1079: aload         11
    1081: iconst_0
    1082: invokestatic  #166                // Method main$dfs$unite:([IILkotlin/jvm/internal/Ref$IntRef;ILjava/util/List;[ILjava/util/TreeSet;ILjava/util/TreeSet;I)V
    1085: aload_3
    1086: iload         5
    1088: aload_3
    1089: iload         5
    1091: iaload
    1092: aload         4
    1094: iload         5
    1096: invokeinterface #68,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
    1101: checkcast     #54                 // class java/lang/Number
    1104: invokevirtual #57                 // Method java/lang/Number.intValue:()I
    1107: ixor
    1108: iastore
    1109: return
}


package codeforces.round680

private fun solve(): Long {
	val (p, q) = readLongs()
	if (p % q != 0L) return p
	val xs = primeFactorization(q)
	var ans = 1L
	for (i in xs) {
		var pp = p
		while (pp % q == 0L && pp % i == 0L) pp /= i
		if (pp % q != 0L) ans = maxOf(ans, pp)
	}
	return ans
}

fun primeFactorization(n: Long): LongArray {
	var m = n
	val tempLong = mutableListOf<Long>()
	run {
		var i: Long = 2
		while (m > 1 && i * i <= m) {
			while (m % i == 0L) {
				tempLong.add(i)
				m /= i
			}
			i++
		}
	}
	if (m > 1) tempLong.add(m)
	val factors = LongArray(tempLong.size)
	for (i in factors.indices) {
		factors[i] = tempLong[i]
	}
	return factors
}

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

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

Compiled from "a.kt"
public final class codeforces.round680.AKt {
  private static final long solve();
    Code:
       0: invokestatic  #10                 // Method readLongs:()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 #21                 // Method java/lang/Number.longValue:()J
      17: lstore_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 #21                 // Method java/lang/Number.longValue:()J
      31: lstore_3
      32: lload_1
      33: lload_3
      34: lrem
      35: lconst_0
      36: lcmp
      37: ifeq          42
      40: lload_1
      41: lreturn
      42: lload_3
      43: invokestatic  #25                 // Method primeFactorization:(J)[J
      46: astore        5
      48: lconst_1
      49: lstore        6
      51: iconst_0
      52: istore        8
      54: aload         5
      56: arraylength
      57: istore        9
      59: iload         8
      61: iload         9
      63: if_icmpge     129
      66: aload         5
      68: iload         8
      70: laload
      71: lstore        10
      73: lload_1
      74: lstore        12
      76: lload         12
      78: lload_3
      79: lrem
      80: lconst_0
      81: lcmp
      82: ifne          105
      85: lload         12
      87: lload         10
      89: lrem
      90: lconst_0
      91: lcmp
      92: ifne          105
      95: lload         12
      97: lload         10
      99: ldiv
     100: lstore        12
     102: goto          76
     105: lload         12
     107: lload_3
     108: lrem
     109: lconst_0
     110: lcmp
     111: ifeq          123
     114: lload         6
     116: lload         12
     118: invokestatic  #31                 // Method java/lang/Math.max:(JJ)J
     121: lstore        6
     123: iinc          8, 1
     126: goto          59
     129: lload         6
     131: lreturn

  public static final long[] primeFactorization(long);
    Code:
       0: lconst_0
       1: lstore        6
       3: lload_0
       4: lstore        6
       6: new           #43                 // class java/util/ArrayList
       9: dup
      10: invokespecial #47                 // Method java/util/ArrayList."<init>":()V
      13: checkcast     #12                 // class java/util/List
      16: astore_2
      17: iconst_0
      18: istore_3
      19: ldc2_w        #48                 // long 2l
      22: lstore        4
      24: lload         6
      26: lconst_1
      27: lcmp
      28: ifle          83
      31: lload         4
      33: lload         4
      35: lmul
      36: lload         6
      38: lcmp
      39: ifgt          83
      42: lload         6
      44: lload         4
      46: lrem
      47: lconst_0
      48: lcmp
      49: ifne          74
      52: aload_2
      53: lload         4
      55: invokestatic  #55                 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long;
      58: invokeinterface #59,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
      63: pop
      64: lload         6
      66: lload         4
      68: ldiv
      69: lstore        6
      71: goto          42
      74: lload         4
      76: lconst_1
      77: ladd
      78: lstore        4
      80: goto          24
      83: nop
      84: nop
      85: lload         6
      87: lconst_1
      88: lcmp
      89: ifle          104
      92: aload_2
      93: lload         6
      95: invokestatic  #55                 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long;
      98: invokeinterface #59,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
     103: pop
     104: aload_2
     105: invokeinterface #63,  1           // InterfaceMethod java/util/List.size:()I
     110: newarray       long
     112: astore_3
     113: iconst_0
     114: istore        4
     116: aload_3
     117: arraylength
     118: istore        5
     120: iload         4
     122: iload         5
     124: if_icmpge     151
     127: aload_3
     128: iload         4
     130: aload_2
     131: iload         4
     133: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     138: checkcast     #18                 // class java/lang/Number
     141: invokevirtual #21                 // Method java/lang/Number.longValue:()J
     144: lastore
     145: iinc          4, 1
     148: goto          120
     151: aload_3
     152: areturn

  public static final void main();
    Code:
       0: invokestatic  #74                 // Method readInt:()I
       3: istore_0
       4: iconst_0
       5: istore_1
       6: iload_1
       7: iload_0
       8: if_icmpge     35
      11: iload_1
      12: istore_2
      13: iconst_0
      14: istore_3
      15: invokestatic  #76                 // Method solve:()J
      18: lstore        4
      20: getstatic     #82                 // Field java/lang/System.out:Ljava/io/PrintStream;
      23: lload         4
      25: invokevirtual #88                 // Method java/io/PrintStream.println:(J)V
      28: nop
      29: iinc          1, 1
      32: goto          6
      35: return

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

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

  private static final java.util.List<java.lang.String> readStrings();
    Code:
       0: invokestatic  #105                // Method readLn:()Ljava/lang/String;
       3: checkcast     #115                // class java/lang/CharSequence
       6: iconst_1
       7: anewarray     #117                // class java/lang/String
      10: astore_0
      11: aload_0
      12: iconst_0
      13: ldc           #119                // String
      15: aastore
      16: aload_0
      17: iconst_0
      18: iconst_0
      19: bipush        6
      21: aconst_null
      22: invokestatic  #125                // 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.Long> readLongs();
    Code:
       0: invokestatic  #128                // Method readStrings:()Ljava/util/List;
       3: checkcast     #130                // class java/lang/Iterable
       6: astore_0
       7: iconst_0
       8: istore_1
       9: aload_0
      10: astore_2
      11: new           #43                 // class java/util/ArrayList
      14: dup
      15: aload_0
      16: bipush        10
      18: invokestatic  #136                // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
      21: invokespecial #139                // Method java/util/ArrayList."<init>":(I)V
      24: checkcast     #141                // class java/util/Collection
      27: astore_3
      28: iconst_0
      29: istore        4
      31: aload_2
      32: invokeinterface #145,  1          // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
      37: astore        5
      39: aload         5
      41: invokeinterface #151,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      46: ifeq          92
      49: aload         5
      51: invokeinterface #155,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      56: astore        6
      58: aload_3
      59: aload         6
      61: checkcast     #117                // class java/lang/String
      64: astore        7
      66: astore        9
      68: iconst_0
      69: istore        8
      71: aload         7
      73: invokestatic  #159                // Method java/lang/Long.parseLong:(Ljava/lang/String;)J
      76: nop
      77: invokestatic  #55                 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long;
      80: aload         9
      82: swap
      83: invokeinterface #160,  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  #174                // Method main:()V
       3: return
}


package codeforces.codeton6

private fun solve() {
	val (_, k) = readInts()
	fun rightmost(a: List<Int>): IntArray {
		val res = IntArray(k) { -1 }
		for (i in a.indices) res[a[i]] = i
		for (i in k - 2 downTo 0) res[i] = maxOf(res[i], res[i + 1])
		return res
	}
	val a = readInts().map { it - 1 }
	val present = BooleanArray(k)
	for (x in a) present[x] = true
	val right = rightmost(a)
	val left = rightmost(a.asReversed()).map { a.size - 1 - it }
	val ans = IntArray(k) {
		if (right[it] == -1 || !present[it]) 0 else (right[it] - left[it] + 1) * 2
	}
	println(ans.joinToString(" "))
}

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

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

Compiled from "c.kt"
public final class codeforces.codeton6.CKt {
  private static final void solve();
    Code:
       0: invokestatic  #10                 // Method readInts:()Ljava/util/List;
       3: iconst_1
       4: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
       9: checkcast     #18                 // class java/lang/Number
      12: invokevirtual #22                 // Method java/lang/Number.intValue:()I
      15: istore_0
      16: invokestatic  #10                 // Method readInts:()Ljava/util/List;
      19: checkcast     #24                 // class java/lang/Iterable
      22: astore_2
      23: iconst_0
      24: istore_3
      25: aload_2
      26: astore        4
      28: new           #26                 // class java/util/ArrayList
      31: dup
      32: aload_2
      33: bipush        10
      35: invokestatic  #32                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
      38: invokespecial #36                 // Method java/util/ArrayList."<init>":(I)V
      41: checkcast     #38                 // class java/util/Collection
      44: astore        5
      46: iconst_0
      47: istore        6
      49: aload         4
      51: invokeinterface #42,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
      56: astore        7
      58: aload         7
      60: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      65: ifeq          113
      68: aload         7
      70: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      75: astore        8
      77: aload         5
      79: aload         8
      81: checkcast     #18                 // class java/lang/Number
      84: invokevirtual #22                 // Method java/lang/Number.intValue:()I
      87: istore        9
      89: astore        15
      91: iconst_0
      92: istore        10
      94: iload         9
      96: iconst_1
      97: isub
      98: invokestatic  #58                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     101: aload         15
     103: swap
     104: invokeinterface #62,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
     109: pop
     110: goto          58
     113: aload         5
     115: checkcast     #12                 // class java/util/List
     118: nop
     119: astore_1
     120: iload_0
     121: newarray       boolean
     123: astore_2
     124: aload_1
     125: invokeinterface #63,  1           // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
     130: astore_3
     131: aload_3
     132: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
     137: ifeq          162
     140: aload_3
     141: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     146: checkcast     #18                 // class java/lang/Number
     149: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     152: istore        4
     154: aload_2
     155: iload         4
     157: iconst_1
     158: bastore
     159: goto          131
     162: iload_0
     163: aload_1
     164: invokestatic  #67                 // Method solve$rightmost:(ILjava/util/List;)[I
     167: astore_3
     168: iload_0
     169: aload_1
     170: invokestatic  #71                 // Method kotlin/collections/CollectionsKt.asReversed:(Ljava/util/List;)Ljava/util/List;
     173: invokestatic  #67                 // Method solve$rightmost:(ILjava/util/List;)[I
     176: astore        5
     178: iconst_0
     179: istore        6
     181: aload         5
     183: astore        7
     185: new           #26                 // class java/util/ArrayList
     188: dup
     189: aload         5
     191: arraylength
     192: invokespecial #36                 // Method java/util/ArrayList."<init>":(I)V
     195: checkcast     #38                 // class java/util/Collection
     198: astore        8
     200: iconst_0
     201: istore        9
     203: iconst_0
     204: istore        10
     206: aload         7
     208: arraylength
     209: istore        11
     211: iload         10
     213: iload         11
     215: if_icmpge     265
     218: aload         7
     220: iload         10
     222: iaload
     223: istore        12
     225: aload         8
     227: iload         12
     229: istore        13
     231: astore        15
     233: iconst_0
     234: istore        14
     236: aload_1
     237: invokeinterface #74,  1           // InterfaceMethod java/util/List.size:()I
     242: iconst_1
     243: isub
     244: iload         13
     246: isub
     247: invokestatic  #58                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     250: aload         15
     252: swap
     253: invokeinterface #62,  2           // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
     258: pop
     259: iinc          10, 1
     262: goto          211
     265: aload         8
     267: checkcast     #12                 // class java/util/List
     270: nop
     271: astore        4
     273: iconst_0
     274: istore        6
     276: iload_0
     277: newarray       int
     279: astore        7
     281: iload         6
     283: iload_0
     284: if_icmpge     345
     287: iload         6
     289: istore        8
     291: aload         7
     293: iload         8
     295: aload_3
     296: iload         8
     298: iaload
     299: iconst_m1
     300: if_icmpeq     310
     303: aload_2
     304: iload         8
     306: baload
     307: ifne          314
     310: iconst_0
     311: goto          338
     314: aload_3
     315: iload         8
     317: iaload
     318: aload         4
     320: iload         8
     322: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     327: checkcast     #18                 // class java/lang/Number
     330: invokevirtual #22                 // Method java/lang/Number.intValue:()I
     333: isub
     334: iconst_1
     335: iadd
     336: iconst_2
     337: imul
     338: iastore
     339: iinc          6, 1
     342: goto          281
     345: aload         7
     347: astore        5
     349: aload         5
     351: ldc           #76                 // String
     353: checkcast     #78                 // class java/lang/CharSequence
     356: aconst_null
     357: aconst_null
     358: iconst_0
     359: aconst_null
     360: aconst_null
     361: bipush        62
     363: aconst_null
     364: invokestatic  #84                 // Method kotlin/collections/ArraysKt.joinToString$default:([ILjava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ILjava/lang/CharSequence;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/String;
     367: getstatic     #90                 // Field java/lang/System.out:Ljava/io/PrintStream;
     370: swap
     371: invokevirtual #96                 // Method java/io/PrintStream.println:(Ljava/lang/Object;)V
     374: return

  public static final void main();
    Code:
       0: invokestatic  #125                // 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  #127                // Method solve:()V
      18: iinc          1, 1
      21: goto          6
      24: return

  private static final int readInt();
    Code:
       0: invokestatic  #134                // Method kotlin/io/ConsoleKt.readln:()Ljava/lang/String;
       3: invokestatic  #138                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
       6: ireturn

  private static final java.util.List<java.lang.String> readStrings();
    Code:
       0: invokestatic  #134                // Method kotlin/io/ConsoleKt.readln:()Ljava/lang/String;
       3: checkcast     #78                 // class java/lang/CharSequence
       6: iconst_1
       7: anewarray     #142                // class java/lang/String
      10: astore_0
      11: aload_0
      12: iconst_0
      13: ldc           #76                 // String
      15: aastore
      16: aload_0
      17: iconst_0
      18: iconst_0
      19: bipush        6
      21: aconst_null
      22: invokestatic  #148                // 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  #151                // Method readStrings:()Ljava/util/List;
       3: checkcast     #24                 // class java/lang/Iterable
       6: astore_0
       7: iconst_0
       8: istore_1
       9: aload_0
      10: astore_2
      11: new           #26                 // class java/util/ArrayList
      14: dup
      15: aload_0
      16: bipush        10
      18: invokestatic  #32                 // Method kotlin/collections/CollectionsKt.collectionSizeOrDefault:(Ljava/lang/Iterable;I)I
      21: invokespecial #36                 // Method java/util/ArrayList."<init>":(I)V
      24: checkcast     #38                 // class java/util/Collection
      27: astore_3
      28: iconst_0
      29: istore        4
      31: aload_2
      32: invokeinterface #42,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
      37: astore        5
      39: aload         5
      41: invokeinterface #48,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      46: ifeq          92
      49: aload         5
      51: invokeinterface #52,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      56: astore        6
      58: aload_3
      59: aload         6
      61: checkcast     #142                // class java/lang/String
      64: astore        7
      66: astore        9
      68: iconst_0
      69: istore        8
      71: aload         7
      73: invokestatic  #138                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
      76: nop
      77: invokestatic  #58                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      80: aload         9
      82: swap
      83: invokeinterface #62,  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  #156                // Method main:()V
       3: return

  private static final int[] solve$rightmost(int, java.util.List<java.lang.Integer>);
    Code:
       0: iconst_0
       1: istore_3
       2: iload_0
       3: newarray       int
       5: astore        4
       7: iload_3
       8: iload_0
       9: if_icmpge     27
      12: iload_3
      13: istore        5
      15: aload         4
      17: iload         5
      19: iconst_m1
      20: iastore
      21: iinc          3, 1
      24: goto          7
      27: aload         4
      29: astore_2
      30: iconst_0
      31: istore_3
      32: aload_1
      33: checkcast     #38                 // class java/util/Collection
      36: invokeinterface #160,  1          // InterfaceMethod java/util/Collection.size:()I
      41: istore        4
      43: iload_3
      44: iload         4
      46: if_icmpge     71
      49: aload_2
      50: aload_1
      51: iload_3
      52: invokeinterface #16,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      57: checkcast     #18                 // class java/lang/Number
      60: invokevirtual #22                 // Method java/lang/Number.intValue:()I
      63: iload_3
      64: iastore
      65: iinc          3, 1
      68: goto          43
      71: iload_0
      72: iconst_2
      73: isub
      74: istore_3
      75: iconst_m1
      76: iload_3
      77: if_icmpge     100
      80: aload_2
      81: iload_3
      82: aload_2
      83: iload_3
      84: iaload
      85: aload_2
      86: iload_3
      87: iconst_1
      88: iadd
      89: iaload
      90: invokestatic  #166                // Method java/lang/Math.max:(II)I
      93: iastore
      94: iinc          3, -1
      97: goto          75
     100: aload_2
     101: areturn
}