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