1부터 n까지의 정수를 한 번씩 사용해 만든 순열 P=(p1,p2,…,pn)이 있다. 길이가 n인 순열을 모두 사전순으로 늘어놓았을 때 P가 몇 번째에 오는지를 d(P)라고 하자. 맨 앞에 오는 (1,2,…,n)의 번호는 1이다.
길이가 n인 순열을 전부 만들어 보지 않고 d(P)를 구하는 프로그램을 작성하시오. n은 50 이하이다.
n=4일 때 사전순으로 늘어놓은 순열과 그 번호는 아래 그림과 같다.

P=(2,3,4,1)이면 d(P)=10이고, P=(4,2,1,3)이면 d(P)=21이다.
입력은 여러 줄로 이루어진다. 각 줄에는 질의가 하나씩 (n,(p1,p2,…,pn)) 형식으로 주어지고, 줄 안에 공백은 없다. 마지막 줄에는 −1만 있고, 이 줄을 만나면 입력이 끝난다. 질의는 하나 이상 주어진다.
질의마다 구한 d(P)를 입력에 주어진 순서대로 한 줄에 출력한다. 값과 값 사이는 쉼표 하나로 구분하고, 쉼표 앞뒤에 공백을 넣지 않는다.