## https://yukicoder.me/problems/no/2001 MOD = 998244353 def sum_x2(R): ans = (R * (R + 1)) % MOD ans *= (2 * R + 1) % MOD ans %= MOD ans *= pow(6, MOD -2, MOD) ans %= MOD return ans def sum_x1(R): ans = (R * (R + 1)) % MOD ans *= pow(2, MOD -2, MOD) ans %= MOD return ans def sum_interval_x2(L, R): return (sum_x2(R) - sum_x2(L - 1) ) % MOD def sum_interval_x1(L, R): return (sum_x1(R) - sum_x1(L - 1) ) % MOD def sum_interval_x0(L, R): return (R - L + 1) % MOD def case1(L, R, r, A, B, C): a1 = ((R + 1 - B) * (R - C)) % MOD a1 *= sum_interval_x0(L, r) a1 %= MOD a2 = -(R + 1 - B) a2 *= sum_interval_x1(L, r) a2 %= MOD a3 = ((R - B) * (R - B + 1)) % MOD a3 *= pow(2, MOD - 2, MOD) a3 %= MOD a3 *= -1 a3 %= MOD a3 *= sum_interval_x0(L, r) a3 %= MOD a4 = pow(2, MOD -2 , MOD) a4 *= sum_interval_x2(L, r) a4 %= MOD a5 = ((2 * C - 2 * B + 1) * pow(2, MOD - 2, MOD)) % MOD a5 *= sum_interval_x1(L, r) a5 %= MOD a6 = ((C - B) * (C - B + 1)) % MOD a6 *= pow(2, MOD -2, MOD) a6 %= MOD a6 *= sum_interval_x0(L, r) a6 %= MOD a7 = ((C - B - A + 1) * (R - C + 1)) % MOD a7 *= sum_interval_x0(L, r) a7 %= MOD a8 = ((C - B - A + 1) * (-1)) % MOD a8 *= sum_interval_x1(L, r) a8 %= MOD answer = 0 answer += a1 answer %= MOD answer += a2 answer %= MOD answer += a3 answer %= MOD answer += a4 answer %= MOD answer += a5 answer %= MOD answer += a6 answer %= MOD answer += a7 answer %= MOD answer += a8 answer %= MOD print(answer) def case2(L, R, r, A, B, C): a1 = ((R + 1 - B) * (R - B - A + 1)) % MOD a1 *= sum_interval_x0(L, r) a1 %= MOD a2 = -(R + 1 - B) a2 *= sum_interval_x1(L, r) a2 %= MOD a3 = ((R - B) * (R - B + 1)) % MOD a3 *= pow(2, MOD - 2, MOD) a3 %= MOD a3 *= -1 a3 %= MOD a3 *= sum_interval_x0(L, r) a3 %= MOD a4 = pow(2, MOD -2 , MOD) a4 *= sum_interval_x2(L, r) a4 %= MOD a5 = ((2 * A - 1) * pow(2, MOD - 2, MOD)) % MOD a5 *= sum_interval_x1(L, r) a5 %= MOD a6 = (A * (A - 1)) % MOD a6 *= pow(2, MOD -2, MOD) a6 %= MOD a6 *= sum_interval_x0(L, r) a6 %= MOD answer = 0 answer += a1 answer %= MOD answer += a2 answer %= MOD answer += a3 answer %= MOD answer += a4 answer %= MOD answer += a5 answer %= MOD answer += a6 answer %= MOD print(answer) def solve(L, R, A, B, C): r = R - max(A + B, C) if L > r: print(0) return if C - B - A >= 0: case1(L, R, r, A, B, C) else: case2(L, R, r, A, B, C) def solve2(L, R, A, B, C): answer = 0 for x in range(L, R + 1): if x + A <= R: for y in range(x + A, R + 1): if max(x + C, y + B) <= R: z0 = max(x + C, y + B) answer += R - z0 + 1 answer %= MOD print(answer) def main(): L, R = map(int, input().split()) A, B, C = map(int, input().split()) solve(L, R, A, B, C) # solve2(L, R, A, B, C) if __name__ == "__main__": main()