#225. [R37D]斜三进制

[R37D]斜三进制

时空限制

1S/512M

题目描述

兔子国的 Tom 来到猫头鹰国旅游,来到一家超市,买了一瓶饮料,他支付时发现猫头鹰国的价格都是由 0,1,2,30,1,2,3 四个数字组成的,而兔子国的数为普通的十进制数。好心的店员解释说猫头鹰国的数按以下方式表示:

1.十进制数 00 对应的猫头鹰国数是 00

2.一个数 xx 变为其后继 x+1x+1 的规则如下:如果 xx 中存在数字 33,则将为 33 的这一位替换为 00(可以证明这样的位是唯一的),并将更高位加一;否则仅将个位数字加一。(如:102301030010230 \rightarrow 10300121112121211 \rightarrow 1212

以下是 [0,13][0,13] 的猫头鹰国数表示:

0,1,2,3,10,11,12,13,20,21,22,23,30,1000,1,2,3,10,11,12,13,20,21,22,23,30,100

Tom 买的饮料的价格用猫头鹰国数表示为一个长度为 nn 的字符串 ss

由于 Tom 的支付系统是兔子国的,因此需要将这瓶饮料的价钱翻译成十进制数,请你帮他完成翻译。

输入格式

第一行包含一个整数 nn 表示饮料价格的长度。

接下来一行包含一个长度为 nn 的字符串 ss,表示饮料的价格。

输出格式

输出一行,包含一个整数,表示饮料价格转换为十进制后的结果。

样例

样例输入 1

2
23

样例输出 1

11

样例输入 2

5
10130

样例输出 2

146

样例输入 3

25
1001201220010202003000000

样例输出 3

450895864361

数据范围

对于 45%45\% 的数据,n15n \le 15

对于 100%100\% 的数据,1n301 \le n \le 30s=n|s|=n,且 ss 是一个合法的猫头鹰国的数。