interface I1 {
  abstract fun f(): String

  abstract val p: Int
    abstract get

}

interface I2 {
  abstract fun f(): String

  abstract val p: Int
    abstract get

}

expect class C : I1, I2 {
  expect constructor() /* primary */

  expect override fun f(): String

  expect override val p: Int
    override get

}

class C : I1, I2 {
  constructor() /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  override fun f(): String {
    return "OK"
  }

  override val p: Int
    field = 42
    override get

}
