　一つ目の条件より，$f_i(x)+f_j(y)=f_j(x)+f_i(y)$ であるため，$f_i(x)-f_j(x)$ の値は $x$ によらない．そのため，$f(0)=0$ かつ任意の $2$ 以上の整数 $i$ と整数 $x$ について $f(x)+a_i=f_i(x)$ をみたすような関数 $f \colon \mathbb{Z} \to \mathbb{Z}$ と整数列 $a_2,a_3,\ldots$ がとれる．このとき
$$f(x)+f(y)+a_i+a_j=f(x+y)+a_{ij}$$ 
となり，$x=y=0$ を代入して $a_i + a_j = a_{ij}$ となる．したがって，素数を小さい順に $p_1, p_2, \ldots$ とするとき，$n=\displaystyle \prod_{k=1}^\infty p_k^{s_k}$ と素因数分解される任意の $2$ 以上の整数 $n$ について $a_n=\displaystyle \sum_{k=1}^\infty s_ka_{p_k}$ となる．また，$f(x)+f(y)=f(x+y)$ より，ある整数 $c$ が存在して $f(x)=cx$ が成り立つことが帰納的に示される．

　ここで二つ目の条件より $(c+1)q+a_p=(c+1)p+a_q$ であるため，$(c+1)p-a_p$ の値は $p$ によらない．この値を $T$ とすると，
$$f_n(x)=cx+ \sum_{k=1}^\infty s_k((c+1)p_k-T)$$ 
となる．\
　三つ目の条件は任意の $n$ について $\displaystyle \sum_{k=1}^\infty s_k((c+1)p_k-T)$ が $c$ で割り切れることと同値である $(c=0$ は明らかに条件をみたさないことに注意 $)$．$n=2, 3$ の場合を考えると，$2-T, ~ 3-T$ がともに $c$ の倍数となることが必要．したがって $c=\pm 1$ であり，このとき条件をみたす．

　四つ目の条件より，
$$4c+(2c+2-T)+(101c+101-T)=2024$$ 
すなわち $107c-2T=1921$ であるから，$(c, T) = (1, -907), (-1, -1014)$ を得る．よって，$$f_{20}(25)=25c+2(2c+2-T)+(5c+5-T)=34c-3T+9$$
としてありうる値は，$c=1$ のとき $2764$，$c=-1$ のとき $3017$ である．以上より，解答すべき値は $2764+3017=\mathbf{5781}$ である．
公式解説
https://onlinemathcontest.com/contests/omce010/editorial/12378
　整数に対して定義され整数値をとる関数からなる列 $f_2,f_3,\ldots$ が以下の $4$ つの条件をみたします．
- 任意の $2$ 以上の整数 $i,j$ と整数 $x,y$ について $f_i(x)+f_j(y)=f_{ij}(x+y)$ となる．
- 任意の素数 $p,q$ について $f_p(q)+q=f_q(p)+p$ となる．
- 任意の $2$ 以上の整数 $i$ についてある整数 $x$ が存在して，$f_i(x)=0$ となる．
- $f_{202}(4)=2024$ である．

このとき，$f_{20}(25)$ としてありうる値の総和を求めてください．