var
	x:array[0..2047] of byte;
	f:file;
	i,r,w:word;
	h:array[0..15] of char='0123456789abcdef';
begin
	assign(f,paramstr(1));
	reset(f,1);
	w:=filesize(f);
	write('array[0..',w-1,'] of byte=(');
	blockread(f,x,1,r);
	if r<>0 then writeln('$',h[x[i] shr 4],h[x[i] and $f]);
	repeat
		blockread(f,x,sizeof(x),r);
		if r<>0 then for i:=0 to r-1 do begin
			write(',$',h[x[i] shr 4],h[x[i] and $f]);
			if i and 15 = 15 then writeln;
		end;
	until r=0;
	writeln(');');
	writeln('implementation');
	writeln('end.');
end.