#998. C - 字符串(String)

C - 字符串(String)

题目描述

给定三个仅由小写英文字母组成的字符串 S1,S2,S3S_1,S_2,S_3

求长度为 NN、仅由小写英文字母组成,并且不包含 S1,S2,S3S_1,S_2,S_3 中任何一个作为子序列的字符串 TT 的数量,对 998244353998244353 取模。

限制条件

  • 1N1031\le N\le 10^3
  • S1,S2,S3S_1,S_2,S_3 均为长度不超过 1010 的非空小写英文字母串。
  • NN 为整数。

输入

N
S_1 S_2 S_3

输出

输出答案对 998244353998244353 取模后的结果。

样例输入 1

2
abc de f

样例输出 1

624

长度为 22 的小写英文字母串共有 262=67626^2=676 个。其中有 11 个包含 de 作为子序列,有 5151 个包含 f 作为子序列,并且这两类字符串没有交集,因此答案为 676151=624676-1-51=624

样例输入 2

4
ab ab ab

样例输出 2

453125

注意,子序列与子串不同。例如,accb 包含 ab 作为子序列。

样例输入 3

1000
atcoder algorithm lectures

样例输出 3

669410767