#P15923. [Roi2019 Team]Too Many Hyphens太多连字符

[Roi2019 Team]Too Many Hyphens太多连字符

题目描述

像 TEX 和 LATEX 这样的文档排版语言常用于排版文章、科学文本,甚至信息学竞赛题面。

它们提供特殊宏,使用户可以输入键盘上没有的特殊字符。例如,连续多个连字符会被转换为不同长度的破折号。因此,如果需要在文档中得到一串连续连字符,就需要进行特殊处理。

一种处理方法是使用大括号,防止连续连字符被识别为宏。与许多编程语言类似,TEX 中的大括号用于给字符块分组。大括号序列本身必须形成合法括号序列:删除字符串中除 {} 外的所有字符后,将 { 视为 +1+1} 视为 1-1,要求总和为 00,并且任意前缀和非负。

为了防止连续连字符被替换成破折号,任意两个相邻的 - 之间至少要插入一个大括号。注意,连续的 + 不对应任何宏,因此两个相邻的 + 之间没有额外要求。

给定只由 +- 组成的字符串 ss。在满足上述规则的前提下,向其中插入尽可能少的大括号,使得结果中不存在两个相邻的连字符。这样的结果称为 ss 的一个最优转义字符串。

例如,对字符串 ++--,恰好有 5 个最优转义字符串:

++-{-}
++-{}-
++{-}-
+{+-}-
{++-}-

按字典序排列字符时,字符顺序为:

+ < - < { < }

请在所有最优转义字符串中,输出字典序第 kk 小的一个;若不存在第 kk 个,则输出 Overflow

输入格式

第一行输入字符串 ss,只包含 +-

第二行输入整数 kk

输出格式

输出字典序第 kk 小的最优转义字符串。

如果 kk 大于最优转义字符串总数,输出 Overflow

数据范围

  • ss 非空,长度不超过 6060
  • 1k10181 \le k \le 10^{18}

样例 1 输入

++--
2

样例 1 输出

++-{}-

样例 2 输入

-+-+-
2

样例 2 输出

Overflow