헥토르와 빅토르는 친구 스와벡과 함께 물리 학기 프로젝트를 진행한다. 앞의 두 사람은 실험을 맡고, 스와벡은 결과를 발표할 슬라이드를 준비하기로 했다.
스와벡은 1번부터 N번까지 차례로 번호를 매긴 슬라이드 초안 N장을 만들었다. 헥토르와 빅토르는 각자 따로, 이 슬라이드들을 자신이 생각하는 중요도가 낮은 것부터 높은 것 순서로 나열했다.
이제 최종 발표에 넣을 슬라이드만 고르면 된다. 최종 발표는 스와벡이 준비한 슬라이드의 부분집합이어야 하고, 원래 번호 순서대로 보여 준다. 또한 최종 발표에서 뒤에 나오는 슬라이드는 바로 앞 슬라이드보다 더 중요해야 하며, 이는 헥토르의 기준과 빅토르의 기준 모두에서 성립해야 한다.
이 조건을 만족하는, 비어 있지 않은 서로 다른 슬라이드 묶음은 몇 가지인가?
첫 줄에 테스트 세트의 개수 Z (1≤Z≤10)가 주어진다. 이어서 각 테스트 세트가 차례로 주어진다.
각 테스트 세트의 첫 줄에는 스와벡이 준비한 슬라이드 수 N (1≤N≤50000)이 주어진다. 둘째 줄과 셋째 줄에는 각각 N개의 정수가 주어지며, 헥토르와 빅토르가 매긴 순서를 나타낸다. 각 줄의 k번째 수는 그 사람이 k번째로 덜 중요하다고 본 슬라이드의 번호이다. 즉 각 줄은 슬라이드 번호를 중요도가 낮은 것부터 높은 것 순으로 나열한 것이며, 1부터 N까지의 수가 각각 정확히 한 번씩 나타난다.
각 테스트 세트마다, 조건을 만족하는 서로 다른 슬라이드 묶음의 수를 109+7로 나눈 나머지를 한 줄에 하나씩 출력한다.
첫 번째 예제의 첫 테스트 세트에서 조건을 만족하는 슬라이드 묶음은 {1}, {2}, {3}, {1,2}, {1,3}의 다섯 가지이다.