import sys input = sys.stdin.readline from collections import * class BIT: def __init__(self, n): self.n = n self.bit = [0]*(n+1) def add(self, i, x): i += 1 while i<=self.n: self.bit[i] += x self.bit[i] %= MOD i += i&(-i) def acc(self, i): s = 0 while i>0: s += self.bit[i] s %= MOD i -= i&(-i) return s N, K = map(int, input().split()) A = list(map(int, input().split())) s = input()[:-1] idx = defaultdict(list) for i in range(N): idx[A[i]].append(i) l = list(idx.keys()) l.sort() dp = [[1]*N for _ in range(K+1)] MOD = 10**9+7 for i in range(K): l_ = l[:] if s[i]=='<' else l[:][::-1] bit = BIT(N) for v in l_: for j in idx[v]: dp[i+1][j] = bit.acc(j) for j in idx[v]: bit.add(j, dp[i][j]) print(sum(dp[K])%MOD)