program ideone;
type TData=array[0..8,0..8] of Integer;
type TArr=array[0..29] of Integer;
const data:TData=
(
(1,2,3,4,5,6,7,8,9),
(10,11,12,13,14,15,16,17,18),
(19,20,21,22,23,24,25,26,27),
(28,29,30,31,32,33,34,35,36),
(37,38,39,40,41,42,43,44,45),
(46,47,48,49,50,51,52,53,54),
(55,56,57,58,59,60,61,62,63),
(64,65,66,67,68,69,70,71,72),
(73,74,75,76,77,78,79,80,81)
);
procedure rand30(var arr:TArr;const data:TData);
var copy:TData;
var I,P,swap:Integer;
begin
copy:=data;
for I:=0 to high(TArr) do
begin
P:=Random(9*9-I);
swap:=copy[0,P];
copy[0,P]:=copy[0,I];
copy[0,I]:=swap;
arr[I]:=swap;
end;
end;
procedure show(const arr:TArr);
var I:Integer;
begin
for I:=0 to high(TArr) do Write(' ',arr[I]);
WriteLn;
end;
var arr:TArr;
begin
Randomize;
rand30(arr,data);
show(arr);
rand30(arr,data);
show(arr);
rand30(arr,data);
show(arr);
rand30(arr,data);
show(arr);
end.
cHJvZ3JhbSBpZGVvbmU7Cgp0eXBlIFREYXRhPWFycmF5WzAuLjgsMC4uOF0gb2YgSW50ZWdlcjsKdHlwZSBUQXJyPWFycmF5WzAuLjI5XSBvZiBJbnRlZ2VyOwoKY29uc3QgZGF0YTpURGF0YT0KKAogICgxLDIsMyw0LDUsNiw3LDgsOSksCiAgKDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4KSwKICAoMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcpLAogICgyOCwyOSwzMCwzMSwzMiwzMywzNCwzNSwzNiksCiAgKDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1KSwKICAoNDYsNDcsNDgsNDksNTAsNTEsNTIsNTMsNTQpLAogICg1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2MyksCiAgKDY0LDY1LDY2LDY3LDY4LDY5LDcwLDcxLDcyKSwKICAoNzMsNzQsNzUsNzYsNzcsNzgsNzksODAsODEpCik7Cgpwcm9jZWR1cmUgcmFuZDMwKHZhciBhcnI6VEFycjtjb25zdCBkYXRhOlREYXRhKTsKdmFyIGNvcHk6VERhdGE7CnZhciBJLFAsc3dhcDpJbnRlZ2VyOwpiZWdpbgogIGNvcHk6PWRhdGE7CiAgZm9yIEk6PTAgdG8gaGlnaChUQXJyKSBkbwogIGJlZ2luCiAgCVA6PVJhbmRvbSg5KjktSSk7CiAgCXN3YXA6PWNvcHlbMCxQXTsKICAJY29weVswLFBdOj1jb3B5WzAsSV07CiAgCWNvcHlbMCxJXTo9c3dhcDsKICAJYXJyW0ldOj1zd2FwOwogIGVuZDsKZW5kOwoKcHJvY2VkdXJlIHNob3coY29uc3QgYXJyOlRBcnIpOwp2YXIgSTpJbnRlZ2VyOwpiZWdpbgogIGZvciBJOj0wIHRvIGhpZ2goVEFycikgZG8gV3JpdGUoJyAnLGFycltJXSk7CiAgV3JpdGVMbjsKZW5kOwoKdmFyIGFycjpUQXJyOwpiZWdpbgogIFJhbmRvbWl6ZTsKICByYW5kMzAoYXJyLGRhdGEpOwogIHNob3coYXJyKTsKICByYW5kMzAoYXJyLGRhdGEpOwogIHNob3coYXJyKTsKICByYW5kMzAoYXJyLGRhdGEpOwogIHNob3coYXJyKTsKICByYW5kMzAoYXJyLGRhdGEpOwogIHNob3coYXJyKTsKZW5kLg==