304432: CF847C. Sum of Nestings

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Sum of Nestings

题意翻译

我们定义一个括号序列是规则的当且仅当存在某种方式可以将字符`+`和`1`插入其中使得其成为一个合法的表达式。比如`(()())`是规则的因为我们可以将它变成`((1+1)+(1+1))`的形式,而这个形式是一个合法的表达式。此外,`()()()`、`(())`、`()`也是规则的括号序列。相反,`)(`、`(()`、`())(()`不是规则的括号序列。 在这个问题中,你被给予了两个数$n$和$k$,你的任务是构建一个规则的括号序列,使得它恰好含有$n$对括号并且恰好含有$k$对嵌套。 比如,`()(())`含有$3$对括号且它的嵌套对数为$1$,而`(((())))`含有$4$对括号且它的嵌套对数为$6=3+2+1$。 输入格式:一行两个整数$n$和$k$。 输出格式:一个字符串,表示你构造出的括号序列。

题目描述

Recall that the bracket sequence is considered regular if it is possible to insert symbols '+' and '1' into it so that the result is a correct arithmetic expression. For example, a sequence "(()())" is regular, because we can get correct arithmetic expression insering symbols '+' and '1': "((1+1)+(1+1))". Also the following sequences are regular: "()()()", "(())" and "()". The following sequences are not regular bracket sequences: ")(", "(()" and "())(()". In this problem you are given two integers $ n $ and $ k $ . Your task is to construct a regular bracket sequence consisting of round brackets with length $ 2·n $ with total sum of nesting of all opening brackets equals to exactly $ k $ . The nesting of a single opening bracket equals to the number of pairs of brackets in which current opening bracket is embedded. For example, in the sequence "()(())" the nesting of first opening bracket equals to $ 0 $ , the nesting of the second opening bracket equals to $ 0 $ and the nesting of the third opening bracket equal to $ 1 $ . So the total sum of nestings equals to $ 1 $ .

输入输出格式

输入格式


The first line contains two integers $ n $ and $ k $ ( $ 1<=n<=3·10^{5} $ , $ 0<=k<=10^{18} $ ) — the number of opening brackets and needed total nesting.

输出格式


Print the required regular bracket sequence consisting of round brackets. If there is no solution print "Impossible" (without quotes).

输入输出样例

输入样例 #1

3 1

输出样例 #1

()(())

输入样例 #2

4 6

输出样例 #2

(((())))

输入样例 #3

2 5

输出样例 #3

Impossible

说明

The first example is examined in the statement. In the second example the answer is "(((())))". The nesting of the first opening bracket is $ 0 $ , the nesting of the second is $ 1 $ , the nesting of the third is $ 2 $ , the nesting of fourth is $ 3 $ . So the total sum of nestings equals to $ 0+1+2+3=6 $ . In the third it is impossible to construct a regular bracket sequence, because the maximum possible total sum of nestings for two opening brackets equals to $ 1 $ . This total sum of nestings is obtained for the sequence "(())".

Input

题意翻译

我们定义一个括号序列是规则的当且仅当存在某种方式可以将字符`+`和`1`插入其中使得其成为一个合法的表达式。比如`(()())`是规则的因为我们可以将它变成`((1+1)+(1+1))`的形式,而这个形式是一个合法的表达式。此外,`()()()`、`(())`、`()`也是规则的括号序列。相反,`)(`、`(()`、`())(()`不是规则的括号序列。 在这个问题中,你被给予了两个数$n$和$k$,你的任务是构建一个规则的括号序列,使得它恰好含有$n$对括号并且恰好含有$k$对嵌套。 比如,`()(())`含有$3$对括号且它的嵌套对数为$1$,而`(((())))`含有$4$对括号且它的嵌套对数为$6=3+2+1$。 输入格式:一行两个整数$n$和$k$。 输出格式:一个字符串,表示你构造出的括号序列。

加入题单

算法标签: