program selfgen;
const l=13; ast=chr($27);
var a:array[1..l] of string; i:word;
begin
 a[ 1]:=' a[';
 a[ 2]:=']:=';
 a[ 3]:=';';
 a[ 4]:='program selfgen;';
 a[ 5]:='const l=13; ast=chr($27);';
 a[ 6]:='var a:array[1..l] of string; i:word;';
 a[ 7]:='begin';
 a[ 8]:=' for i:=4 to 7 do writeln(a[i]);';
 a[ 9]:=' for i:=1 to l do writeln(';
 a[10]:='  a[1],i:2,a[2],ast,a[i],ast,a[3]);';
 a[11]:=' for i:=8 to l do writeln(a[i]);';
 a[12]:=' { Do something else here }';
 a[13]:='end.';
 for i:=4 to 7 do writeln(a[i]);
 for i:=1 to l do writeln(
  a[1],i:2,a[2],ast,a[i],ast,a[3]);
 for i:=8 to l do writeln(a[i]);
 { Do something else here }
end.
