Replace All

题意翻译

给两个包含`A`,`B`,`?`的串,`?`可以是`A`或`B`,求所有`?`的情况下,求下面这个东西的和:统计有多少对长度$\le n$的01串(S,T)使得把所有`A`换成S,`B`换成T使得两个串相等

题目描述

Igor the analyst is at work. He learned about a feature in his text editor called "Replace All". Igor is too bored at work and thus he came up with the following problem: Given two strings $ x $ and $ y $ which consist of the English letters 'A' and 'B' only, a pair of strings $ (s,t) $ is called good if: - $ s $ and $ t $ consist of the characters '0' and '1' only. - $ 1<=|s|,|t|<=n $ , where $ |z| $ denotes the length of string $ z $ , and $ n $ is a fixed positive integer. - If we replace all occurrences of 'A' in $ x $ and $ y $ with the string $ s $ , and replace all occurrences of 'B' in $ x $ and $ y $ with the string $ t $ , then the two obtained from $ x $ and $ y $ strings are equal. For example, if $ x= $ AAB, $ y= $ BB and $ n=4 $ , then (01, 0101) is one of good pairs of strings, because both obtained after replacing strings are "01010101". The flexibility of a pair of strings $ x $ and $ y $ is the number of pairs of good strings $ (s,t) $ . The pairs are ordered, for example the pairs $ ( $ 0, 1 $ ) $ and $ ( $ 1, 0 $ ) $ are different. You're given two strings $ c $ and $ d $ . They consist of characters 'A', 'B' and '?' only. Find the sum of flexibilities of all possible pairs of strings $ (c',d') $ such that $ c' $ and $ d' $ can be obtained from $ c $ and $ d $ respectively by replacing the question marks with either 'A' or 'B', modulo $ 10^{9}+7 $ .

输入输出格式

输入格式


The first line contains the string $ c $ ( $ 1<=|c|<=3·10^{5} $ ). The second line contains the string $ d $ ( $ 1<=|d|<=3·10^{5} $ ). The last line contains a single integer $ n $ ( $ 1<=n<=3·10^{5} $ ).

输出格式


Output a single integer: the answer to the problem, modulo $ 10^{9}+7 $ .

输入输出样例

输入样例 #1

A?
?
3

输出样例 #1

2

输入样例 #2

A
B
10

输出样例 #2

2046

说明

For the first sample, there are four possible pairs of $ (c',d') $ . If $ (c',d')=( $ AA $ , $ A $ ) $ , then the flexibility is $ 0 $ . If $ (c',d')=( $ AB $ , $ A $ ) $ , then the flexibility is $ 0 $ . If $ (c',d')=( $ AA $ , $ B $ ) $ , then the flexibility is $ 2 $ , as the pairs of binary strings $ ( $ 1 $ , $ 11 $ ) $ , $ ( $ 0 $ , $ 00 $ ) $ are the only good pairs. If $ (c',d')=( $ AB $ , $ B $ ) $ , then the flexibility is $ 0 $ . Thus, the total flexibility is $ 2 $ . For the second sample, there are $ 2^{1}+2^{2}+...+2^{10}=2046 $ possible binary strings of length not greater $ 10 $ , and the set of pairs of good strings is precisely the set of pairs $ (s,s) $ , where $ s $ is a binary string of length not greater than $ 10 $ .