fun main(args: Array<String>) {
if(args.isNotEmpty()) {
System.setIn(java.io.FileInputStream(args[0]))
}
fun solve(N: Int, K: Int): String {
if(K > N) return "(".repeat(N/2) + ")".repeat(N/2)
if(K == N || K <= 4) return "-1"
return "(".repeat((N-K-2)/2) + ("(())" + "(".repeat((K-2)/2) + ")".repeat((K-2)/2)) + ")".repeat((N-K-2)/2)
}
val numTests = readLine()!!.toInt()
require(numTests in 1..1000)
var sumN = 0
repeat(numTests) {
val (N, K) = readLine()!!.split(" ").map{ it.toInt() }
require(N in 2..100000)
require(K in 2..100000)
sumN += N
require(sumN <= 100000)
require(N % 2 == 0)
require(K % 2 == 0)
println(solve(N, K))
}
require(readLine() == null)
}
ZnVuIG1haW4oYXJnczogQXJyYXk8U3RyaW5nPikgewogICAgaWYoYXJncy5pc05vdEVtcHR5KCkpIHsKICAgICAgICBTeXN0ZW0uc2V0SW4oamF2YS5pby5GaWxlSW5wdXRTdHJlYW0oYXJnc1swXSkpCiAgICB9CgogICAgZnVuIHNvbHZlKE46IEludCwgSzogSW50KTogU3RyaW5nIHsKICAgICAgICBpZihLID4gTikgcmV0dXJuICIoIi5yZXBlYXQoTi8yKSArICIpIi5yZXBlYXQoTi8yKQogICAgICAgIGlmKEsgPT0gTiB8fCBLIDw9IDQpIHJldHVybiAiLTEiCiAgICAgICAgcmV0dXJuICIoIi5yZXBlYXQoKE4tSy0yKS8yKSArICgiKCgpKSIgKyAiKCIucmVwZWF0KChLLTIpLzIpICsgIikiLnJlcGVhdCgoSy0yKS8yKSkgKyAiKSIucmVwZWF0KChOLUstMikvMikKICAgIH0KCiAgICB2YWwgbnVtVGVzdHMgPSByZWFkTGluZSgpISEudG9JbnQoKQogICAgcmVxdWlyZShudW1UZXN0cyBpbiAxLi4xMDAwKQoKICAgIHZhciBzdW1OID0gMAogICAgcmVwZWF0KG51bVRlc3RzKSB7CiAgICAgICAgdmFsIChOLCBLKSA9IHJlYWRMaW5lKCkhIS5zcGxpdCgiICIpLm1hcHsgaXQudG9JbnQoKSB9CiAgICAgICAgcmVxdWlyZShOIGluIDIuLjEwMDAwMCkKICAgICAgICByZXF1aXJlKEsgaW4gMi4uMTAwMDAwKQogICAgICAgIHN1bU4gKz0gTgogICAgICAgIHJlcXVpcmUoc3VtTiA8PSAxMDAwMDApCiAgICAgICAgcmVxdWlyZShOICUgMiA9PSAwKQogICAgICAgIHJlcXVpcmUoSyAlIDIgPT0gMCkKCiAgICAgICAgcHJpbnRsbihzb2x2ZShOLCBLKSkKICAgIH0KCiAgICByZXF1aXJlKHJlYWRMaW5lKCkgPT0gbnVsbCkKfQ==