打牌
题号:NC253347
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

阿宁、小a、小b在玩打牌。
在这副牌中win这三个字母各有三张牌。每张牌都不一样。
初始每个人获得三张初始手牌。
每一回合,每一个人挑自己手上一张牌,然后三个人把牌同时交给他的下家。阿宁的下家是小a,小a的下家是小b,小b的下家是阿宁。
当存在一个人手上的有win,手上有win的人获胜。也就是说可以有多个人同时获胜。

小a和小b比较随缘,每次挑选手牌都是等概率随机挑选。
而阿宁在手上有两张相同的牌,第三张不同的牌时,阿宁在相同的牌中等概率随机挑一张交给下家。其它情况阿宁也是等概率随机挑选。

为了防止无限玩下去,n个回合未分出胜负,当作平局。

现在给出阿宁、小a、小b的初始手牌,问阿宁获胜的概率多少?答案对10^9+7取模。

输入描述:

第一行输出一个整数n
接下来三行分别输入三个字符串,分别代表阿宁、小a、小b的初始手牌。
保证三个字符串中,win三种字符的数量都是三个。
1 \leq n \leq 10^5

输出描述:

输出一个非负整数,表示阿宁获胜的概率对10^9+7取模的结果。

假设答案最简分数的形式是\frac{p}{q},输出整数p\times t \10^9+7取模的结果,其中t满足0 \leq t \lt 10^9+7t \times q \equiv 1\pmod {10^9+7}
示例1

输入

复制
1
niw
win
win

输出

复制
1
示例2

输入

复制
2
www
iii
nnn

输出

复制
333333336

说明

两回合过后阿宁\frac{1}{3}的概率拿到win\frac{2}{3}的概率拿到wnn\frac{1}{3}10^9+7取模的结果是333333336
示例3

输入

复制
3
www
nnn
iii

输出

复制
296296299

说明

阿宁\frac{1}{3}的概率在第二回合拿到win\frac{8}{27}的概率第三回合拿到win