program ex(input,output); var i,j,j1,k,n,r:integer; a:array[0..100] of integer; b:array[0..100] of integer; m:array[0..100] of integer; procedure out; var i:integer; begin for i:=1 to n do write(a[i]:2); readln end; begin readln(n, r); { a[0]:=-1; } for i:=1 to r do read(m[i]); readln; {*** initialization of array a ***} k:=1; for i:=1 to r do for j:=1 to m[i] do begin a[k]:=i; k:=k+1; end; {*** setting up largest element for each a[i], i=1, ..., n ***} k:=n; for i:=r downto 1 do for j:=m[i] downto 1 do begin b[k]:=i; k:=k-1 end; j:=n; while j<>0 do begin out; j:=n; while a[j]=b[j] do j:=j-1; j1:=j; while j1<=n do begin a[j1]:=a[j1]+1; k:=j1; while k