level 1
program tiaoma;
var s,m,n,p,q,top:longint;
x,y:array[0..1000] of integer;
dx:array[1..4] of integer=(1,2,2,1);
dy:array[1..4] of integer=(-2,-1,1,2);
procedure print;
var i:integer;
begin
for i:=1 to top do
write('(',x[i],',',y[i],')');
writeln;
inc(s);
end;
procedure research(dep:integer);
var k,i:integer;
begin
if (x[top]=p)and(y[top]=q) then begin print;exit;end;
for i:=1 to 4 do
if ((x[top]+dx[i])<=m) and((y[top]+dy[i])<=n) and((y[top]+dy[i])>=0) then
begin
top:=top+1;
x[top]:=x[top]+dx[i];
y[top]:=y[top]+dy[i];
research(dep+1);
top:=top-1;
x[top]:=x[top]-dx[i];
y[top]:=y[top]-dy[i];
end; end;
begin
read(m);
read(n);
read(p);
read(q);
top:=0;
s:=0;
fillchar(x,sizeof(x),0);
fillchar(y,sizeof(y),0);
research(1) ;
write(s)
end.
2014年02月12日 07点02分