data class A(val a: Int = 1, val b: String = "$a") {} fun box() : String { var result = "" val a = A() val b = a.copy() if (b.a == 1 && b.b == "1") { result += "1" } val c = a.copy(a = 2) if (c.a == 2 && c.b == "1") { result += "2" } val d = a.copy(b = "2") if (d.a == 1 && d.b == "2") { result += "3" } val e = a.copy(a = 2, b = "2") if (e.a == 2 && e.b == "2") { result += "4" } if (result == "1234") { return "OK" } return "fail" }