Language: C++

var
n,k,z,c,p:int64;  i:longint;
function pw(x,y:int64):int64;
var re:int64;
begin
    re:=1;
	while y>0 do
	begin
		if (y and 1=1) then begin re:=(re*x) mod p; end;
		x:=x*x mod p;
		y:=y div 2;
	end;
	pw:=re;
end;
begin
	n:=1; k:=1; z:=1; c:=1;
	p:=998244353;
	readln(k,n);
	z:=pw(2,n-1);
	for i:= 0 to k-1 do
	begin
		if ((k-i) mod 2=0) then
		begin
			z:= (z+p-c) mod p;
		end;
		c:=((c*(n-i))mod p)*(pw(i+1,p-2) mod p);
	end;	
	writeln(z);
end.

Compiler output:
a.cc:1:1: error: 'var' does not name a type
    1 | var
      | ^~~
a.cc:2:20: error: found ':' in nested-name-specifier, expected '::'
    2 | n,k,z,c,p:int64;  i:longint;
      |                    ^
      |                    ::
a.cc:2:19: error: 'i' does not name a type
    2 | n,k,z,c,p:int64;  i:longint;
      |                   ^
a.cc:3:1: error: 'function' does not name a type; did you mean 'union'?
    3 | function pw(x,y:int64):int64;
      | ^~~~~~~~
      | union
a.cc:4:1: error: 'var' does not name a type
    4 | var re:int64;
      | ^~~
a.cc:5:1: error: 'begin' does not name a type
    5 | begin
      | ^~~~~
a.cc:7:9: error: expected unqualified-id before 'while'
    7 |         while y>0 do
      |         ^~~~~
a.cc:9:61: error: 'end' does not name a type
    9 |                 if (y and 1=1) then begin re:=(re*x) mod p; end;
      |                                                             ^~~
a.cc:10:17: error: 'x' does not name a type
   10 |                 x:=x*x mod p;
      |                 ^
a.cc:11:17: error: 'y' does not name a type
   11 |                 y:=y div 2;
      |                 ^
a.cc:12:9: error: 'end' does not name a type
   12 |         end;
      |         ^~~
a.cc:13:9: error: 'pw' does not name a type
   13 |         pw:=re;
      |         ^~
a.cc:14:1: error: 'end' does not name a type
   14 | end;
      | ^~~
a.cc:15:1: error: 'begin' does not name a type
   15 | begin
      | ^~~~~
a.cc:16:15: error: 'k' does not name a type
   16 |         n:=1; k:=1; z:=1; c:=1;
      |               ^
a.cc:16:21: error: 'z' does not name a type
   16 |         n:=1; k:=1; z:=1; c:=1;
      |                     ^
a.cc:16:27: error: 'c' does not name a type
   16 |         n:=1; k:=1; z:=1; c:=1;
      |                           ^
a.cc:17:9: error: 'p' does not name a type
   17 |         p:=998244353;
      |         ^
a.cc:18:15: error: expected constructor, destructor, or type conversion before '(' token
   18 |         readln(k,n);
      |               ^
a.cc:19:9: error: 'z' does not name a type
   19 |         z:=pw(2,n-1);
      |         ^
a.cc:20:9: error: expected unqualified-id before 'for'
   20 |         for i:= 0 to k-1 do
      |         ^~~
a.cc:25:17: error: 'end' does not name a type
   25 |                 end;
      |                 ^~~
a.cc:26:17: error: 'c' does not name a type
   26 |                 c:=((c*(n-i))mod p)*(pw(i+1,p-2) mod p);
      |                 ^
a.cc:27:9: error: 'end' does not name a type
   27 |         end;
      |         ^~~
a.cc:28:16: error: expected constructor, destructor, or type conversion before '(' token
   28 |         writeln(z);
      |                ^
a.cc:29:1: error: 'end' does not name a type
   29 | end.
      | ^~~