해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
0부터 n-1까지 번호가 매겨진 n명의 플레이어가 있으며, 각 플레이어에게는 순위가 있다. i-th 플레이어의 순위는 i이다.
플레이어들은 팀을 구성할 수 있다. 팀은 세 명의 플레이어로 구성되어야 하며, 팀 내 어떤 두 플레이어도 서로 충돌 관계에 있어서는 안 된다. 팀의 순위는 다음 알고리즘을 사용하여 계산한다. i, j, k를 팀에 속한 플레이어들의 순위라고 하고, i < j < k라고 하면, 팀의 순위는 A ⋅ i + B ⋅ j + C ⋅ k와 같다.
충돌 관계에 있는 플레이어 쌍에 대한 정보가 주어진다. 가능한 모든 유효한 팀의 순위 총합을 로 나눈 나머지를 계산한다.
첫 번째 줄에는 공백으로 구분된 두 정수 n와 m (3 ≤ n ≤ 2 ⋅ , 0 ≤ m ≤ 2 ⋅ )가 주어진다. 이는 플레이어의 수와 충돌하는 쌍의 수이다.
두 번째 줄에는 공백으로 구분된 세 정수 A, B and C (1 ≤ A, B, C ≤ )가 주어진다. 이는 팀 순위 계산에 사용되는 계수이다.
다음 m개의 각 줄에는 공백으로 구분된 두 정수 와 (0 ≤ , < n, ≠ )가 주어진다. 이는 충돌하는 플레이어 쌍이다.
플레이어의 각 무순서 쌍은 입력 파일에 최대 한 번만 등장함이 보장된다.
가능한 모든 팀의 순위 총합을 로 나눈 나머지를 나타내는 정수 하나를 출력한다.
4 1
2 3 4
1 0
38
4 0
2 3 4
64
6 4
1 5 3
0 3
3 5
5 4
4 3
164
첫 번째 예제에서는 4개의 팀이 모두 유효하다. 즉, 삼중항은 다음과 같다: {0, 1, 2}, {0, 1, 3}, {0, 2, 3} {1, 2, 3}.
두 번째 예제의 팀은 다음과 같다: {0, 2, 3}, {1, 2, 3}.
세 번째 예제의 팀은 다음과 같다: {0, 1, 2}, {0, 1, 4}, {0, 1, 5}, {0, 2, 4}, {0, 2, 5}, {1, 2, 3}, {1, 2, 4}, {1, 2, 5}.