program main; var arr: array [0..31, 0..1] of integer; i: integer; function param32_rec(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16, a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30, a31,a32: integer): integer; begin if a1 = 0 then param32_rec := a2 else param32_rec := param32_rec(a1 - 1, (a2 + a3) mod 998244353, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, 0); end; function param32_arr: integer; var sum: integer; begin sum := arr[0, 0] + arr[0, 1]; sum := sum + arr[1, 0] + arr[1, 1]; sum := sum + arr[2, 0] + arr[2, 1]; sum := sum + arr[3, 0] + arr[3, 1]; sum := sum + arr[4, 0] + arr[4, 1]; sum := sum + arr[5, 0] + arr[5, 1]; sum := sum + arr[6, 0] + arr[6, 1]; sum := sum + arr[7, 0] + arr[7, 1]; sum := sum + arr[8, 0] + arr[8, 1]; sum := sum + arr[9, 0] + arr[9, 1]; sum := sum + arr[10, 0] + arr[10, 1]; sum := sum + arr[11, 0] + arr[11, 1]; sum := sum + arr[12, 0] + arr[12, 1]; sum := sum + arr[13, 0] + arr[13, 1]; sum := sum + arr[14, 0] + arr[14, 1]; sum := sum + arr[15, 0] + arr[15, 1]; sum := sum + arr[16, 0] + arr[16, 1]; sum := sum + arr[17, 0] + arr[17, 1]; sum := sum + arr[18, 0] + arr[18, 1]; sum := sum + arr[19, 0] + arr[19, 1]; sum := sum + arr[20, 0] + arr[20, 1]; sum := sum + arr[21, 0] + arr[21, 1]; sum := sum + arr[22, 0] + arr[22, 1]; sum := sum + arr[23, 0] + arr[23, 1]; sum := sum + arr[24, 0] + arr[24, 1]; sum := sum + arr[25, 0] + arr[25, 1]; sum := sum + arr[26, 0] + arr[26, 1]; sum := sum + arr[27, 0] + arr[27, 1]; sum := sum + arr[28, 0] + arr[28, 1]; sum := sum + arr[29, 0] + arr[29, 1]; sum := sum + arr[30, 0] + arr[30, 1]; sum := sum + arr[31, 0] + arr[31, 1]; param32_arr := sum; end; function param16(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16: integer): integer; var arr2: array[0..15] of integer; begin arr2[0] := a1; arr2[1] := a2; arr2[2] := a3; arr2[3] := a4; arr2[4] := a5; arr2[5] := a6; arr2[6] := a7; arr2[7] := a8; arr2[8] := a9; arr2[9] := a10; arr2[10] := a11; arr2[11] := a12; arr2[12] := a13; arr2[13] := a14; arr2[14] := a15; arr2[15] := a16; param16 := param32_rec(arr2[0], arr2[1], arr2[2], arr2[3], arr2[4], arr2[5], arr2[6], arr2[7], arr2[8], arr2[9], arr2[10], arr2[11], arr2[12], arr2[13], arr2[14], arr2[15], a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); end; function getint(var index: integer): integer; var input: array[0..15] of integer; begin input[0] := 17; input[1] := 13; input[2] := 80; input[3] := 55; input[4] := 81; input[5] := 91; input[6] := 95; input[7] := 58; input[8] := 13; input[9] := 5; input[10] := 63; input[11] := 19; input[12] := 54; input[13] := 45; input[14] := 67; input[15] := 63; index := index + 1; getint := input[index - 1]; end; begin i := 0; arr[0, 0] := param16(getint(i), getint(i), getint(i), getint(i), getint(i), getint(i), getint(i), getint(i), getint(i), getint(i), getint(i), getint(i), getint(i), getint(i), getint(i), getint(i)); arr[0, 1] := 8848; for i := 1 to 31 do begin arr[i, 0] := arr[i - 1, 1] - 1; arr[i, 1] := arr[i - 1, 0] - 2; end; write(param32_arr); end.