编程题
### 问题描述
小蓝和小桥是一对勇敢的冒险家,他们来到了一个神秘的森林,里面有各种魔物和宝藏。他们带着武器和魔法准备探险,但这里的魔物非常强大,小蓝和小桥需要合力才能战胜它们。小蓝手持一把神剑,小桥擅长使用魔法卷轴,他们需要合作才能击败森林中的魔物。
现在,小蓝有一个长度为 $n$ 的字符串 $A$,小桥有一个长度为 $m$ 的字符串 $B$,他们想知道这两个字符串中有多少个公共的子序列。公共子序列是指两个字符串中都出现的子序列,可以不连续。
请你帮助小蓝和小桥计算这个数量对 $998244353$ 取模后的结果。
### 输入格式
第一行输入两个数字 $n$ 和 $m$,分别表示字符串 $A$ 和 $B$ 的长度, $1 \leq n, m \leq 500$。
第二行输入一个长度为 $n$ 的字符串 $A$,字符串中只包含小写字母。
第三行输入一个长度为 $m$ 的字符串 $B$,字符串中只包含小写字母。
### 输出格式
输出仅一行,一个整数,表示 $A$ 和 $B$ 中公共子序列的数量对 $998244353$ 取模后的结果。
### 样例输入
```
4 4
abcd
bcde
```
### 样例输出
```
3
```