강을 따라 n개의 도시가 늘어서 있습니다. 인접한 두 도시 사이에는 도로가 하나씩 놓여 있지만, 모든 도로가 양방향인 것은 아니어서 어떤 도시에서 다른 모든 도시로 갈 수 있는 것은 아닙니다.
어떤 도로들이 놓여 있는지 주어질 때, 각 도시에서 출발하여 도달할 수 있는 다른 도시의 개수를 구하세요.
첫째 줄에 도시의 수 n (1≤n≤106)이 주어집니다.
둘째 줄에는 n−1개의 정수 d1,d2,…,dn−1 (0≤di≤2)이 주어집니다. di는 i번째 도시와 (i+1)번째 도시 사이의 도로를 나타냅니다.
한 줄에 n개의 정수 w1,w2,…,wn을 공백으로 구분하여 출력합니다. wi는 i번째 도시에서 출발하여 도달할 수 있는 도시의 개수이며, 자기 자신은 세지 않습니다.