from collections import defaultdict N,A,K=list(map(int,input().split())) C=defaultdict(int) def C_Num(N,A): for i in range(1,N+1): C[i]=A*i C_Num(N,A) ans=0 MOD=998244353 def Remove1(K): cnt=0 for i in range(1,N+1): M=C[i]//K cnt=(cnt+M*i)%MOD C[i]=C[i]%K return cnt ans=Remove1(K) def Remove2(K): cnt=0 now=0 ok=0 for i in range(N,0,-1): if ok==0 and C[i]!=0: cnt+=i ok=1 now=C[i] elif ok==1: now+=C[i] if now>K: now-=K cnt+=i return cnt%MOD ans=(ans+Remove2(K))%MOD print((ans*2)%MOD)