오락실!

삼각형 모양으로 배치된 구멍마다 튕김 확률과 상금이 주어질 때, 공 하나를 떨어뜨렸을 때의 기대 상금을 계산한다.

보통7확률동적 계획법수학시뮬레이션아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

오락실에 가 본 적이 있는가? 오락실 게임은 해가 갈수록 실력이 덜 필요한 쪽으로 바뀌었고, 요즘 나오는 기계는 결과가 거의 운으로 갈린다. 그림에 있는 기계를 보자. 구멍이 삼각형 모양으로 배치되어 있다. 구슬은 맨 위 구멍 근처에 떨어진다. 구슬은 그 구멍으로 빠져서 게임이 끝나거나, 빨간 화살표가 가리키는 이웃 구멍(최대 4개) 중 하나로 튄다. 구멍마다 배당이 다르고, 배당이 음수인 구멍도 있다. 구슬이 다른 구멍에 닿으면 같은 과정을 반복한다. 그 구멍으로 빠져서 게임이 끝나거나, 다시 이웃으로 튄다. 이 과정은 끝없이 이어질 수도 있다.

구슬을 한 번 넣었을 때 배당의 기댓값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 기계의 줄 수 NN이 주어진다 (1N321 \le N \le 32).

둘째 줄에 H=N(N+1)/2H = N(N+1)/2개의 정수 v1,v2,,vHv_1, v_2, \dots, v_H가 주어진다 (100vi100-100 \le v_i \le 100). viv_i는 구슬이 ii번 구멍으로 빠졌을 때 받는 배당이고, 음수일 수 있다. 구멍 번호는 위에서 아래로 매긴다. 첫째 줄에 1번 구멍이 있고, 둘째 줄에 2번과 3번 구멍이 있다. kk번째 줄은 k(k1)/2+1k(k-1)/2 + 1번 구멍으로 시작하고 구멍이 정확히 kk개 있다.

그 다음 HH개의 줄에는 각각 실수 다섯 개 p0 p1 p2 p3 p4가 주어진다. ii번째 줄은 ii번 구멍에서 구슬이 왼쪽 위 이웃으로 튈 확률 p0, 오른쪽 위 이웃으로 튈 확률 p1, 왼쪽 아래 이웃으로 튈 확률 p2, 오른쪽 아래 이웃으로 튈 확률 p3, 그 구멍으로 빠질 확률 p4를 나타낸다. 각 확률은 소수점 아래 최대 3자리까지 주어지고, 0.0pi1.00.0 \le p_i \le 1.0이며 다섯 값의 합은 정확히 1.01.0이다.

kk번째 줄의 cc번째 구멍을 기준으로 이웃은 다음과 같다. 왼쪽 위 이웃은 k1k-1번째 줄의 c1c-1번째 구멍, 오른쪽 위 이웃은 k1k-1번째 줄의 cc번째 구멍, 왼쪽 아래 이웃은 k+1k+1번째 줄의 cc번째 구멍, 오른쪽 아래 이웃은 k+1k+1번째 줄의 c+1c+1번째 구멍이다. 기계의 가장자리라서 없는 이웃으로 튈 확률은 항상 0.00.0으로 주어진다. 예를 들어 1번 구멍은 위쪽 이웃이 없으므로 p0p1이 모두 0.00.0이다.

구슬이 bb번 튄 뒤에도 아직 어느 구멍에도 빠지지 않았을 확률은 최대 (1103)b/H(1 - 10^{-3})^{\lfloor b/H \rfloor}라고 가정해도 된다.

출력

게임 한 판의 배당 기댓값을 소수점 아래 여섯째 자리까지 반올림해 한 줄에 출력한다. 소수점 아래 자리는 반드시 여섯 자리를 채워서 쓰고, 반올림한 값이 00이면 부호를 붙이지 말고 0.000000을 출력한다.

구슬을 여러 번 굴려서 어느 구멍에 빠지는지 난수로 흉내내는 몬테카를로 방식으로는 이 정확도가 나오지 않는다.