编程题
### 问题描述
在一个幻想的游戏世界中,小蓝是一名年轻而勇敢的冒险者。他踏上了一次神奇的旅程,探索着充满宝藏和挑战的迷幻之地。
在这个冒险的世界里,存在着一种特殊的力量,称为"价值之力"。这种力量源于字母的组合和运算。每个字母都有一个固定的价值,用 $w_i$ 表示。而当一段字母组成的子区间的区间和模 $k$ 的值等于该区间的长度时,这段字母组合会产生一种特殊的价值 $m$。
小蓝拥有一段长度为 $n$ 的字符串 $a$,其中的每个字母都有各自的价值。现在,他想知道通过运算后,这段字符串最后能够获得的总价值是多少。
为了计算价值,小蓝提供了以下信息:
- 字符串 $a$ 的长度为 $n$。
- 字符串 $a$ 由小写字母组成。
- 给定的模数 $k$ 和价值 $m$ 都是整数。
- 字母的价值由 $26$ 个整数 $w_i$ 表示。
现在,小蓝需要你的帮助,设计一个算法来计算字符串所有子区间的总价值。
### 输入格式
第一行输入三个整数 $n, k, m$( $1\le n, k, m\le 10^5$),分别表示字符串的长度、模数和特殊价值。
第二行输入 $26$ 个整数 $w_i$( $1\le w_i\le 10^5$),表示每个字母的价值。
第三行输入一个长度为 $n$ 的字符串 $a$,其中的每个字符都是小写字母。
### 输出格式
输出仅一行,表示字符串所有子区间的总价值。
### 样例输入
```
5 4 1
1 4 2 3 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
abcde
```
### 样例输出
```
4
```