#P3318. [SDOI2015] 双旋转字符串

[SDOI2015] 双旋转字符串

题目描述

给定两个字符串集合 S\mathcal{S}T\mathcal{T}。其中 SS 中的所有字符串长度都恰好为 NN,而 TT 中所有字符串长度都恰好为 MM。且 N+MN+M 恰好为偶数。

如果记 S\mathcal{S} 中字符串全体为 S1,S2,,STotalSS_1,S_2,\dots,S_{Total_S},而 T\mathcal{T} 中字符串全体为 T1,T2,,TTotalTT_1,T_2,\dots,T_{Total_T}。现在希望知道有多少对 i,j\langle i, j \rangle,满足将 SiS_iTjT_j 拼接后得到的字符串 Si+TjS_i+T_j 满足双旋转性。

一个长度为偶数字符串 WW 可以表示成两段长度相同的字符串的拼接,即 W=U+VW=U+V。如果 VV 可以通过 UU 旋转得到,则称 WW 是满足双旋转性的。比如说字符串 vijos 可以通过旋转得到 ijosv,josvi,osvijsvijo。那么 vijosjosvi 就是满足双旋转性的字符串。

输入格式

第一行输入四个正整数,分别为 TotalS,TotalT,N,MTotal_S,Total_T,N,M,依次表示集合 S\mathcal{S} 的大小,集合 T\mathcal{T} 的大小,集合 S\mathcal{S} 中字符串的长度和集合 T\mathcal{T} 中字符串的长度。

之后 TotalSTotal_S 行,依次给出 SS 中所有的字符串 SiS_i1iTotalS1\le i\le Total_S。保证每一个字符串长度都恰为 NN,且字符串只由 2626 个小写字母组成。

之后 TotalTTotal_T 行,依次给出 TT 中所有的字符串 TiT_i1iTotalT1\le i\le Total_T。保证每一个字符串长度都恰为 MM,且字符串只由 2626 个小写字母组成。

输出格式

输出一个整数,表示满足要求的数字对 i,j\langle i, j \rangle 有多少个。

4 4 7 3
vijosvi
josvivi
vijosos
ijosvsv
jos
vij
ijo
jos
6

提示

对于 10%10\% 的数据,1N1001\leq N\leq 1001M1001\leq M\leq 1001TotalS1001\leq Total_S\leq 1001TotalT1001\leq Total_T\leq 100

对于 30%30\% 的数据,1N5001\leq N\leq 5001M5001\leq M\leq 5001TotalS5001\leq Total_S\leq 5001TotalT5001\leq Total_T\leq 500

对于 60%60\% 的数据,$2\le N\times Total_S+M\times Total_T\le 4\times 10^5$。

对于 100%100\% 的数据,$2\le N\times Total_S+M\times Total_T\le 4\times 10^6$。