A balanced parenthesis string is defined as follows:
- The empty string is balanced
- If P is balanced, (P) is also 
- If P and Q are balanced, PQ is also balanced
You are given two even integers n$n$ and k$k$. Find any balanced paranthesis string of length n$n$ that doesn't contain a balanced substring of length k$k$, or claim that no such string exists.

-----Input-----
- First line will contain T$T$, number of testcases. Then the testcases follow. 
- Each testcase contains of a single line containing n$n$ and k$k$.

-----Output-----
For every testcase, print on a new line, any balanced paranthesis string of length n$n$ that doesn't contain a balanced substring of length k$k$. If there doesn't exist any such string, print −1$-1$ instead.

-----Constraints-----
- 1≤T≤50000$1 \leq T \leq 50000$
- 2≤k≤n≤105$2 \leq k \leq n \leq 10^5$
- Sum of n$n$ over all testcases doesn't exceed 105$10^5$.
- n$n$ and k$k$ are both even integers.

-----Example Input-----
2
4 2
8 6

-----Example Output-----
-1
(())(())

-----Explanation-----
In the first testcase, the only balanced strings of length 4$4$ are (()) and ()(), both of which contain () as a substring.
In the second testcase, (())(()) is a balanced string that doesn't contain any balanced substring of length 6$6$.

```python

USER_FILENAME = "<user_code>"
import sys, json, builtins
import math, heapq, bisect, itertools, functools, collections, statistics, fractions, decimal, operator, array, random, re, string, os, pathlib
try:
    import resource as _res
except Exception:
    _res = None
from collections import Counter, defaultdict, deque, OrderedDict
from functools import lru_cache, reduce
from itertools import accumulate, permutations, combinations, product
from math import gcd, ceil, floor, sqrt
from decimal import Decimal
try:
    from typing import *
except Exception:
    pass
try:
    sys.setrecursionlimit(1_000_000)
except Exception:
    pass
try:
    import site as _site
    try:
        _sys_sites = _site.getsitepackages() if hasattr(_site, "getsitepackages") else []
        for _p in _sys_sites:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
    try:
        _usp = _site.getusersitepackages()
        if isinstance(_usp, str):
            _usp = [_usp]
        for _p in _usp:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
except Exception:
    pass

ns = {"__name__": "__main__"}
for _k, _v in list(globals().items()):
    if not _k.startswith("_"):
        ns[_k] = _v
_CODE = '\r\n\r\n\r\na = int(input())\r\nwhile a!=0:\r\n    b,c = map(int,input().split())\r\n    p = c-2\r\n    if p==0 or p==2 or b==c:\r\n        print(-1)\r\n    else:\r\n        q = b//p\r\n        r = b%p\r\n        k=0\r\n\r\n\r\n        if p+r == c:\r\n            print("(", end="")\r\n            while k != q:\r\n\r\n\r\n                for i in range(1, p + 1):\r\n\r\n                    if i <= (p) // 2:\r\n                        print("(", end="")\r\n                    else:\r\n                        print(")", end="")\r\n                k+=1\r\n\r\n            print(")")\r\n\r\n            a-=1\r\n            print()\r\n            continue\r\n\r\n        while k!=q:\r\n\r\n            for i in range(1,p+1):\r\n\r\n                if i<= p//2:\r\n                    print("(",end="")\r\n                else:\r\n                    print(")",end="")\r\n            k+=1\r\n        for i in range(1,r+1):\r\n            if i<=r//2:\r\n                print("(",end="")\r\n            else:\r\n                print(")",end="")\r\n\r\n\r\n        print()\r\n\r\n\r\n    a-=1'
_co = compile(_CODE, USER_FILENAME, "exec")
exec(_co, ns, ns)

```

Measured memory_bytes: 13483