import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.locks.ReentrantLock;

fun <T> Int.latch(op:  CountDownLatch.() -> T) : T {
    val cdl = CountDownLatch(this)
    val res = cdl.op()
    cdl.await()
    return res
}

fun id(op : ()->Unit) = op()

fun box() : String {
    1.latch{
        id {
            countDown()
        }
    }
    return "OK"
}
