베개는 크리스마스를 위해 개의 전구를 한 줄로 연결했다. 전구에는 왼쪽부터 차례로 부터 까지의 번호가 붙어 있다. 스위치를 켜면 번 전구가 켜질 확률은 이며, 각 전구가 켜지는 사건은 서로 독립이다.
켜져 있는 전구들이 연속해서 놓인 최대 구간을 하나의 덩어리라고 하자. 덩어리의 길이는 그 안에 있는 전구의 개수이다.
다음 쿼리 개를 처리하여라.
쿼리 구간 밖의 전구는 고려하지 않는다. 따라서 구간 밖에서 이어지는 덩어리도 구간의 양끝에서 끊어서 센다. 구간 안에 켜진 전구가 없다면 길이 제곱 합은 이다.
각 기댓값을 으로 나눈 나머지 형태로 출력하여라.
입력은 다음과 같은 형식으로 주어진다.
각 테스트 케이스마다, 쿼리의 답을 입력된 순서대로 한 줄에 하나씩 출력한다. 테스트 케이스 사이에 빈 줄은 출력하지 않는다.
기댓값을 기약분수 로 나타내자. 이라 할 때, 는 의 배수가 아니다. 을 만족하는 정수 에 대해, 을 으로 나눈 나머지를 출력한다. 출력하는 정수는 이상 이하여야 한다.
첫 번째 테스트 케이스의 첫 번째 쿼리를 보자. 번 전구가 켜지면 길이 인 덩어리 하나가 있고, 꺼지면 길이 인 덩어리가 두 개 있다. 두 경우의 확률은 각각 이므로 기댓값은 이다. 이를 으로 나눈 나머지 형태로 나타내면 이다.
는 테스트 케이스의 수이다. 각 케이스는 다음과 같은 형식으로 주어진다.
은 전구의 개수이고, 는 쿼리의 개수이다. 는 번 전구가 켜질 확률이며, 소수점 아래 정확히 두 자리까지 주어진다. 각 ()에 대해, 번 쿼리는 이다.
| 2 |
| 12 |
|
| 3 | 25 |
|
| 4 | 55 | 추가적인 제약이 없다. |
두 번째 테스트 케이스에서는 모든 전구가 켜진다. 첫 번째 쿼리에서는 번과 번 전구만 보므로 길이 제곱 합은 이다.