{$APPTYPE CONSOLE} var f:text;n,j:1..30;t,p:1..10;s,sum:0..500;i,k:longint; c:array[1..30] of 1..10; d:array[1..10000000,1..30] of 1..10; procedure pr(inn,ic:word); var t1:1..10; begin c[inn]:=ic;sum:=0; if inn=n then begin for i:=1 to n do sum:=sum+c[i]; if sum=s then begin k:=k+1; for i:=1 to n do d[k,i]:=c[i];end; end else begin for t1:=p to 10 do begin pr(inn+1,t1); end; end; end; begin assign(f,'Tests.dat'); reset(f); read(f,n,p,s); close(f);k:=0; assign(f,'Tests.sol'); rewrite(f); if (s>=n*p) and (s<=n*10) then begin for t:=p to 10 do pr(1,t); writeln(f,k); for i:=1 to k do begin for j:=1 to n do write(f,d[i,j],' '); writeln(f);end; end else write(f,0); close(f); end.