open class A(x: Int) { constructor(z: String) : this(10) } class B : A { constructor() constructor(z: String) : this() } class C : A(20) { constructor() constructor(z: String) : this() } class D() : A(20) { constructor(x: Int) constructor(z: String) : this() }