package main import . "fmt" func main() { var n int var s string Scan(&n,&s) dp := make([][]int, 2) for i := range dp { dp[i] = make([]int, len("yukicoder")+1) } const Mod int = 1e9+7 t := make(map[rune]int) for i, ch := range "yukicoder" { t[ch] = i } dp[0][0] = 1 for _, ch := range s { if i, ok := t[ch]; ok { dp[0][i+1] = (dp[0][i+1] + dp[0][i]) % Mod dp[1][i+1] = (dp[1][i+1] + dp[1][i]) % Mod } else if ch == '?' { for j := 0; j < len(t); j++ { dp[1][j+1] = (dp[1][j+1] + dp[0][j]) % Mod } } } ans := (dp[0][len(t)] + dp[1][len(t)]) % Mod Println(ans) }