만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

중화요리점

시간 제한1.5초메모리 제한512 MB

요약
각 멤버가 원하는 요리가 주어질 때, K가 먹을 요리 k마다 나머지 멤버 모두가 식사할 수 있는 턴테이블 회전량의 최솟값을 구합니다.
난이도

보통10점 중 6점

유형
정렬, 그리디, 누적 합, 수학
정답자
아직 제출이 없습니다

문제

K 이사장을 포함한 정보올림피아드 일본위원회 위원 N명 전원이 중화요리점에 왔다.

중화요리점의 테이블은 원형이며, N개의 좌석이 등간격으로 놓여 있다. 가운데에는 요리를 올려 두는 회전판이 있다. N명의 위원은 N개의 좌석에 앉는다. K 이사장을 1번으로 하고, 거기서 반시계 방향으로 2, 3, ..., N번 위원을 매긴다. 위원회는 요리 N종류를 각각 1개씩 주문했고, 그 요리들이 회전판 위에 놓였다. 요리는 위원의 눈앞에 놓이며, 위원 i의 눈앞에 놓인 요리는 요리 i (1≤i≤N1 \le i \le N)이다. K 이사장을 제외한 위원은 각자 먹고 싶은 요리가 하나씩 정해져 있으며, 위원 i (2≤i≤N2 \le i \le N)가 먹고 싶은 요리는 AiA_i이다.

회전판은 360N\frac{360}{N}도 단위로 시계 방향과 반시계 방향 모두 돌릴 수 있다.

예를 들어 회전판을 반시계 방향으로 1단위 돌리면, K 이사장 앞에는 요리 N이, 위원 i (2≤i≤N2 \le i \le N) 앞에는 요리 i−1i-1이 온다.

어떤 위원이 어떤 요리를 먹으려면, 그 요리가 그 위원 앞에 올 때까지 회전판을 돌려야 한다.

정보올림피아드 일본위원회에서 K 이사장은 매우 존경받으므로, 처음에 K 이사장이 회전판을 돌려 요리 k (1≤k≤N1 \le k \le N)가 자신의 앞에 오게 하고 그 요리를 먹는다.

K 이사장이 요리를 먹은 뒤, K 이사장을 제외한 위원들은 각자 먹고 싶은 요리가 앞에 오도록 회전판을 돌리고 그 요리를 먹는다. 이때 위원들이 회전판을 돌리는 순서는 어떤 순서든 상관없다.

또한 각 요리는 양이 충분하여 먹어서 없어지는 일은 없다.

K 이사장이 무엇을 먹더라도 대응할 수 있도록, 모든 위원이 요리를 먹을 수 있고 회전판을 돌리는 양의 합이 최소가 되도록, 각 k에 대해 K 이사장 이외의 위원이 회전판을 돌리는 순서와 방법을 미리 정해 두고 싶다.

각 위원 i (2≤i≤N2 \le i \le N)가 먹고 싶은 요리 AiA_i가 주어졌을 때, K 이사장이 먹는 요리 k (1≤k≤N1 \le k \le N)마다 회전판을 돌리는 양의 합의 최솟값을 360N\frac{360}{N}도를 1단위로 하여 구하라.

입력

표준 입력에서 다음 데이터를 읽는다.

첫 줄에 정수 N이 주어진다. 정보올림피아드 일본위원회의 인원수다.

이어지는 N - 1개의 줄 중 i번째 줄(2≤i≤N2 \le i \le N)에는 정수 AiA_i가 주어진다. 이는 위원 i가 먹고 싶은 요리가 AiA_i라는 뜻이다.

출력

N줄을 출력한다. k번째 줄(1≤k≤N1 \le k \le N)에는 K 이사장이 요리 k를 먹을 때 회전판을 돌리는 양의 합의 최솟값을 정수로 출력한다. 회전판을 돌리는 양은 360N\frac{360}{N}도를 1단위로 한다.

제한

  • 2≤N≤1000002 \le N \le 100000: 정보올림피아드 일본위원회의 인원수
  • 1≤Ai≤N1 \le A_i \le N: 위원 i가 먹고 싶은 요리

예제1

  1. 예제 1

    입력
    5
    3
    5
    3
    2
    
    예상 출력
    4
    4
    5
    6
    4