칠판에 적힌 수의 기댓값
시간 제한4초메모리 제한1024 MB
N개의 정수가 주어질 때, 두 수를 골라 곱한 값으로 바꾸는 과정을 k번 거친 뒤 합의 기댓값 A_k와 두 수를 더한 값으로 바꾸는 과정을 k번 거친 뒤 곱의 기댓값 B_k를 모든 k에 대해 998244353으로 나눈 나머지로 구합니다.
문제
칠판에 개의 정수가 적혀 있다. 와 를 다음과 같이 정의하자.
- : 칠판에서 임의의 두 수를 골라 지우고, 두 수의 곱을 칠판에 쓰는 작업을 번 한다. 이때 칠판에 적힌 모든 수의 합의 기댓값이다.
- : 칠판에서 임의의 두 수를 골라 지우고, 두 수의 합을 칠판에 쓰는 작업을 번 한다. 이때 칠판에 적힌 모든 수의 곱의 기댓값이다.
두 수를 고를 때 모든 쌍이 선택될 확률은 같으며, 모든 시행은 독립이다.
과 을 으로 나눈 나머지를 구하여라. 은 소수이다.
입력
첫 번째 줄에 이 주어진다.
두 번째 줄에 칠판에 적힌 개의 정수가 공백으로 구분되어 주어진다. 각 수는 이상 미만이다.
출력
첫 번째 줄에 을 으로 나눈 나머지를 공백으로 구분하여 출력한다.
두 번째 줄에 을 으로 나눈 나머지를 공백으로 구분하여 출력한다.
힌트
유리수를 기약분수 로 나타냈을 때, 가 소수 의 배수가 아니라면 를 만족하는 이상 미만의 정수 가 하나로 정해진다. 이 가 로 나눈 나머지이다.
이 문제에서는 가능한 모든 입력에 대해 와 가 유리수이고, 기약분수의 분모가 의 배수가 아님을 증명할 수 있다.