만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Wide Expression

시간 제한1초메모리 제한2048 MB

요약
n, m, k, l이 주어질 때 a, b, c, d, e, f 범위의 (ab + cd + 1)^(e XOR f)를 모두 더한 값을 998244353으로 나눈 나머지를 구합니다.
난이도

어려움10점 중 9점

유형
수학, 조합론, 정수론
정답자
아직 제출이 없습니다

문제

Evil Arglwyddytywyllwch는 무언가를 합해야 하는 문제를 좋아한다. 이런 문제는 보통 지문이 짧고, 선한 인물과 악한 인물에 대한 긴 배경 이야기가 없다. 또 그는 문제를 풀기 위해 코드에 숫자 천 개를 적어야 하는 것을 싫어한다. 그래서 그는 다음 문제를 당신에게 제안했다.

음이 아닌 정수 nn, mm, kk, ll이 주어진다. 다음 값을 구하라.

∑_a=0n∑_b=0n∑_c=0m∑_d=0m∑_e=0k∑_f=0l(ab+cd+1)e⊕f mod 998 244 353\sum\_{a = 0}^{n} \sum\_{b = 0}^{n} \sum\_{c = 0}^{m} \sum\_{d = 0}^{m} \sum\_{e = 0}^{k} \sum\_{f = 0}^{l} {(ab + cd + 1) ^ {e \oplus f}} \bmod 998\,244\,353

여기서 ⊕\oplus는 비트 단위 배타적 논리합(XOR) 연산이다.

입력

첫째 줄에 테스트 케이스의 개수 TT (1≤T≤1001 \leq T \leq 100)가 주어진다.

이후 TT개의 줄에 각각 네 정수 nn, mm, kk, ll (0≤n,m≤3000 \leq n, m \leq 300, k,l≥0k, l \geq 0, k2+l2≤2023k^2 + l^2 \leq 2023)이 주어진다.

모든 테스트 케이스에 대해 n2+m2n^2 + m^2의 합은 2⋅1052 \cdot 10^5을 넘지 않는다.

출력

각 테스트 케이스마다 위의 합을 998 244 353998\,244\,353으로 나눈 나머지를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    6
    0 0 0 0
    0 0 3 6
    1 0 1 0
    1 1 1 1
    25 2 20 23
    99 82 44 3
    
    예상 출력
    1
    28
    9
    80
    950955110
    140425437