Listing: GRADINITA.PAS  
program copii; 
 const max=50; 
 type numar=Comp; 
 dimgrup=0..max; 
 var aa,a,b:array[dimgrup,dimgrup] of numar; 
 i,j,k,m,n:dimgrup; 
 c:numar; 
 f:Text; 
 Begin 
 Assign(f,'copii.in'); 
 Reset(f); 
 Read(f,m,n); 
 Close(f); 
 Assign(f,'copii.out'); 
 Rewrite(f); 
 { acceptiunea 1) } 
 aa[1,1]:=1; 
 for i:=2 to m do aa[i,1]:=i+1; 
 for i:=2 to n do aa[1,i]:=i+1; 
 for i:=2 to m 
do  
 for j:=2 to n 
do  
 aa[i,j]:=aa[i-1,j]+aa[i,j-1]; 
 Write(f,aa[m,n]:0:0,' '); 
 { acceptiunea 2) } 
 a[1,0]:=0; 
 a[1,1]:=1; 
 b[1,1]:=1; 
 for i:=2 to n do a[1,i]:=2; 
 for i:=2 to m 
do  
  
begin  
 a[i,0]:=1; 
 b[i,1]:=2; 
 a[i,1]:=a[i-1,1]+b[i-1,1] 
 end; 
 for i:=2 to n 
do  
b[1,i]:=a[1,i-1]+b[1,i-1]; 
 for i:=2 to m 
do  
 for j:=2 to n 
do  
  
begin  
 a[i,j]:=a[i-1,j]+b[i-1,j]; 
 b[i,j]:=a[i,j-1]+b[i,j-1] 
 end; 
 c:=a[m,n]+a[m,n-1]; 
 for k:=2 to n 
do  
c:=c+2*a[m,n-k]; 
 for k:=2 to m-1 
do  
c:=c+b[m-k,n]; 
 Writeln(f,c:0:0); 
 Close(f) 
 End. 

[cuprins]