CF756F Long number

题目描述

请考虑如下文法: - ::= | '+' - ::= | '-' | '(' ')' - ::= | - ::= '0' | - ::= '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' 该文法描述了一种十进制下数字的规则: - 直接表示自身, - -(记为 $l-r$,满足 $l \leq r$)表示将从 $l$ 到 $r$ 的所有整数按升序拼接成一个整数(不补前导零)。例如,8-11 表示 891011, - () 表示将由 描述的整数串重复 次,然后拼接为一个整数, - + 表示先由 描述出一个整数串,再由 描述出一个整数串,并将二者拼接为一个更长的整数。 例如,表达式 2(2-4+1)+2(2(17)) 表示的整数为 2341234117171717。 给定一个符合上述文法的表达式,请输出该表达式对应的数值,结果对 $10^{9} + 7$ 取模。

输入格式

仅一行,一个非空字符串,长度不超过 $10^5$,保证是合法的表达式,并且对于所有的 l-r,均满足 $l \leq r$。

输出格式

输出一个整数,表示该表达式描述的数字对 $10^9+7$ 取模后的结果。

说明/提示

由 ChatGPT 5 翻译