#bzoj4988. 塔

题目描述

有一个塔,他的名字叫做粽粑,粽粑的每一层都有一个颜色cc

粽粑非常厉害,它在吸收天地精华之后会长高,粽粑的长高方式有两种:

  1. 在塔顶长出一层
  2. 在塔底长出一层,即原来的第一层变成第二层,第二层变成第三层,以此类推,新长出来的是第一层,

粽粑有可能在某个时刻不是很开心,这个时候它会撤销它的前若干次长高,

你现在想知道粽粑长高的奥秘,于是找到了粽粑,发现它的入口上写着这么一句话:

要进入粽粑,请找出一段最长的塔的区间,满足翻转后颜色不变,粽粑会不断的长高(或撤销),所以它每次长高后你都要回答,

为了你的方便,粽粑一开始的高度为00

输入格式

第一行一个数qq,表示粽粑的操作个数,

第二行一个字符串s(0q×31)s_{(0\sim q\times3-1)}.

对于下标为3×k3\times k的字符ch\text{ch}

  • ch=1\text{ch}=1表示第k+lk+l次操作是在塔顶长出一层.
  • ch=2\text{ch}=2表示第k+1k+1次操作是在塔底长出一层.
  • ch=3\text{ch}=3表示第k+lk+l次操作是撤回,

对于第KK次操作,不妨设s3k2s3k1s_{3k-2},s_{3k-1}那么组成的两位数是Num\text{Num},设第k1k-1次操作的答案是lans\text{lans}.

如果该操作是长高操作,这次操作的颜色是(Num+lans)mod100(\text{Num}+\text{lans}) \mod 100.否则连续撤回的次数是(Num+lans)mod100(\text{Num}+\text{lans})\mod 100.

输出格式

一行一个数,表示所有qq次操作后的答案的和.,

样例

7
101102100299199198298
25

数据规模与约定

对于100%100\%的数据:Q107Q\le 10^7.

提示

加密前的数据是:71011031012021021032037101103101202102103203

对应的字符串是abacaba\text{abacaba}