1158: 团结军团

内存限制:512 MB 时间限制:1.000 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:2 通过:0 通过率:0%

题目描述

一个篱笆三个桩,一个好汉三个帮!团结军团就是一支非常团结的军队。

团结军团团结的方式如下:

  1. 团结军团排成N个纵队,每个纵队的士兵人数可以不同;
  2. 每个士兵拥有一个基础武力值V0 <= V <= 9);
  3. 纵队中任意多个连续的士兵可以产生一个综合武力值,其值为这些连续士兵的基础武力值依序排列所构成的整数;
  4. 军团中的综合武力值不重复产生。即任意的综合武力值最多仅记一次有效,重复的无效;
  5. 计算综合武力值时可以去掉前导0,既前导0不影响实际的整型综合武力值;
  6. 例如:对于拥有3个士兵的基础武力值分别为012的纵队可以产生的综合武力值有4个,分别为:01212,其中01012为重复产生的综合武力值无效。


 

对于这样一个团结的军团,你知道全军士兵的所有有效的综合武力值之和吗?

输入格式

第一行一个正整数N1<=N<=1000),表示有N个纵队。

接下来有N行,每行代表一个纵队士兵基础武力值V0 <= V <= 9)的排列,为一个由数字0-9构成的字符串S

军团士兵人数不超过1000000

输出格式

为一个整数,即全军士兵的有效综合武力值之和对1000000007取模的结果。

输入样例 复制

2
1
012

输出样例 复制

15

数据范围与提示

样例输入中可以产生的所有有效综合武力值分别为01212,和是15