def dc(x, y, N):
global result
if N ==1:
result += paper[x][y]
return
s = paper[x][y]
for i in range(x, x+N):
for j in range(y, y+N):
if paper[i][j] != s:
N = N//2
result += '('
dc(x, y, N)
dc(x, y+N, N)
dc(x+N, y, N)
dc(x+N, y+N, N)
result += ')'
return
result += s
n = int(input())
paper = [[0]*n for _ in range(n)]
for i in range(n):
paper[i] = list(input())
result = ''
dc(0, 0, n)
print(result)
백준 색종이 만들기 문제와 매우 유사한 문제 색종이 만들기 문제를 풀 수 있다면 어렵지 않게 해결할 수 있는 문제이다.