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