Codeforces Beta Round 92 (Div. 1 Only)
C
Brackets
Codeforces
2300
原题
← BD →
翻译中…

A two dimensional array is called a bracket array if each grid contains one of the two possible brackets — "(" or ")". A path through the two dimensional array cells is called monotonous if any two consecutive cells in the path are side-adjacent and each cell of the path is located below or to the right from the previous one.

翻译中…

A two dimensional array whose size equals $*n* × *m*$ is called a correct bracket array, if any string formed by writing out the brackets on some monotonous way from cell $(1, 1)$ to cell $(*n*, *m*)$ forms a correct bracket sequence.

翻译中…

Let's define the operation of comparing two correct bracket arrays of equal size ($*a*$ and $*b*$) like that. Let's consider a given two dimensional array of priorities ($*c*$) — a two dimensional array of same size, containing different integers from $1$ to $*nm*$. Let's find such position $(*i*, *j*)$ in the two dimensional array, that $*a*_{*i*, *j*} ≠ *b*_{*i*, *j*}$. If there are several such positions, let's choose the one where number $*c*_{*i*, *j*}$ is minimum. If $*a*_{*i*, *j*} =$"(", then $*a* < *b*$, otherwise $*a* > *b*$. If the position $(*i*, *j*)$ is not found, then the arrays are considered equal.

翻译中…

Your task is to find a $*k*$-th two dimensional correct bracket array. It is guaranteed that for the given sizes of $*n*$ and $*m*$ there will be no less than $*k*$ two dimensional correct bracket arrays.

翻译中…

Input

翻译中…

The first line contains integers $*n*$, $*m*$ and $*k*$ — the sizes of the array and the number of the sought correct bracket array ($1 ≤ *n*, *m* ≤ 100$, $1 ≤ *k* ≤ 10^{18}$). Then an array of priorities is given, $*n*$ lines each containing $*m*$ numbers, number $*p*_{*i*, *j*}$ shows the priority of character $*j*$ in line $*i*$ ($1 ≤ *p*_{*i*, *j*} ≤ *nm*$, all $*p*_{*i*, *j*}$ are different).

翻译中…

Please do not use the %lld specificator to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specificator.

翻译中…

Output

翻译中…

Print the $*k*$-th two dimensional correct bracket array.

翻译中…

Note

翻译中…

In the first sample exists only one correct two-dimensional bracket array.

翻译中…

In the second and in the third samples two arrays exist.

翻译中…

A bracket sequence is called regular if it is possible to obtain correct arithmetic expression by inserting characters «+» and «1» into this sequence. For example, sequences «(())()», «()» and «(()(()))» are regular, while «)(», «(()» and «(()))(» are not.

翻译中…

样例

Input #1
1 2 1
1 2
Output #1
()
InputCopy OutputCopy
Input #2
2 3 1
1 2 3
4 5 6
Output #2
(()
())
InputCopy OutputCopy
Input #3
3 2 2
3 6
1 4
2 5
Output #3
()
)(
()
InputCopy OutputCopy
题目信息
题号
123C
时间限制
1 s
内存限制
256 MB
标签
组合数学
动态规划
贪心

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。