단조성 2

아직 제출이 없습니다시간 제한3초메모리 제한512 MB

문제

정수 수열 a1,a2,,ana_1, a_2, \ldots, a_n에 대해, 이 수열의 단조성 표현을 기호 s1,s2,,sn1s_1, s_2, \ldots, s_{n-1}의 수열로 정의한다. 각 기호 sis_iaia_iai+1a_{i+1}의 대소 관계를 나타내며, ai<ai+1a_i < a_{i+1}이면 <<, ai>ai+1a_i > a_{i+1}이면 >>, ai=ai+1a_i = a_{i+1}이면 ==이다. 예를 들어 수열 2,4,3,3,5,32, 4, 3, 3, 5, 3의 단조성 표현은 <,>,=,<,><, >, =, <, >이다.

단조성 표현이 s1,s2,,sns_1, s_2, \ldots, s_n인 수열이 또 다른 표현 s1,s2,,sks'_1, s'_2, \ldots, s'_k실현한다는 것은, 모든 i=1,2,,ni = 1, 2, \ldots, n에 대해 si=s((i1)modk)+1s_i = s'_{((i-1) \bmod k) + 1}이 성립함을 뜻한다. 다시 말해 s1,s2,,sns_1, s_2, \ldots, s_ns1,s2,,sks'_1, s'_2, \ldots, s'_k를 필요한 만큼 반복한 뒤 뒤쪽 일부를 잘라내어 얻을 수 있다. 예를 들어 2,4,3,3,5,32, 4, 3, 3, 5, 3<,>,=<, >, =<,>,=,<,><, >, =, <, >, 그리고 <,>,=,<,>,<,<,=<, >, =, <, >, <, <, = 등 많은 표현을 실현한다.

정수 수열 a1,a2,,ana_1, a_2, \ldots, a_n과 단조성 표현 s1,s2,,sks_1, s_2, \ldots, s_k가 주어진다. 인덱스가 1i1<i2<<imn1 \le i_1 < i_2 < \cdots < i_m \le n인 부분 수열 ai1,ai2,,aima_{i_1}, a_{i_2}, \ldots, a_{i_m} 중에서, 그 자신의 단조성 표현이 s1,s2,,sks_1, s_2, \ldots, s_k를 실현하는 것을 생각하자. 이러한 부분 수열의 최대 길이 mm을 구하라. 원소가 하나뿐인 부분 수열은 (단조성 표현이 비어 있으므로) 항상 주어진 표현을 실현하므로, 답은 항상 11 이상이다.

입력

첫째 줄에 두 정수 nnkk가 공백으로 구분되어 주어진다 (1n500,0001 \le n \le 500{,}000, 1k500,0001 \le k \le 500{,}000). 각각 수열의 길이와 단조성 표현의 길이이다.

둘째 줄에 수열의 원소 a1,a2,,ana_1, a_2, \ldots, a_n이 공백으로 구분되어 주어진다 (1ai1,000,0001 \le a_i \le 1{,}000{,}000).

셋째 줄에 단조성 표현을 이루는 kk개의 기호 s1,s2,,sks_1, s_2, \ldots, s_k가 공백으로 구분되어 주어진다. 각 기호는 <<, >>, == 중 하나이다.

출력

부분 수열 자신의 단조성 표현이 s1,s2,,sks_1, s_2, \ldots, s_k를 실현하는 부분 수열의 최대 길이 mm을 정수 하나로 출력한다.