declare
  a number;
  b number;
  c number;
  d number;
begin
  for i in 1000..9999
  loop
  a:=substr(i,1,1);
  b:=substr(i,2,1);
  c:=substr(i,3,1);
  d:=substr(i,4,1);
 
      if(i=(a*10+b)*(c*10+d))     then   /* 1*/
      dbms_output.put_line(i);
      elsif (i=(a*10+b)*(d*10+c)) then    
      dbms_output.put_line(i);
      elsif (i=(b*10+a)*(c*10+d)) then
      dbms_output.put_line(i);
      elsif (i=(b*10+a)*(d*10+c)) then
      dbms_output.put_line(i);
      
      elsif (i=(a*10+c)*(b*10+d)) then  /* 2*/
      dbms_output.put_line(i);
      elsif (i=(a*10+c)*(d*10+b)) then
      dbms_output.put_line(i);
      elsif (i=(c*10+a)*(b*10+d)) then
      dbms_output.put_line(i);
      elsif (i=(c*10+a)*(d*10+b)) then
      dbms_output.put_line(i);
      
      elsif (i=(a*10+d)*(b*10+c)) then  /*3*/
      dbms_output.put_line(i);
      elsif (i=(a*10+d)*(c*10+b)) then
      dbms_output.put_line(i);
      elsif (i=(d*10+a)*(b*10+c)) then
      dbms_output.put_line(i);
      elsif (i=(d*10+a)*(c*10+b)) then
      dbms_output.put_line(i);
      
      elsif (i=(b*10+c)*(a*10+d)) then /* 4*/
      dbms_output.put_line(i);
      elsif (i=(b*10+c)*(d*10+a)) then
      dbms_output.put_line(i);
      elsif (i=(c*10+b)*(a*10+d)) then
      dbms_output.put_line(i);
      elsif (i=(c*10+b)*(d*10+a)) then
      dbms_output.put_line(i);
      end if;
      end loop;end;