procedure bubbleSort(var arr: array of Integer; n: Integer; var val: Integer);
var i, j, c: Integer;
begin
for i := 1 to n do
for j := 2 to n do
if (arr[j - 1] > arr[j]) then
begin
c := arr[j - 1];
arr[j - 1] := arr[j];
arr[j] := c;
val := val + 1;
end;
end;
const MAXN = 100;
var arr: array [1..MAXN] of Integer;
i, n, val: Integer;
begin
read(n);
for i := 1 to n do
read(arr[i]);
val := 0;
bubbleSort(arr, n, val);
for i := 1 to n do
write(arr[i], ' ');
writeln();
write(val);
end.
cHJvY2VkdXJlIGJ1YmJsZVNvcnQodmFyIGFycjogYXJyYXkgb2YgSW50ZWdlcjsgbjogSW50ZWdlcjsgdmFyIHZhbDogSW50ZWdlcik7CnZhciBpLCBqLCBjOiBJbnRlZ2VyOwpiZWdpbgogIGZvciBpIDo9IDEgdG8gbiBkbwogICAgZm9yIGogOj0gMiB0byBuIGRvCiAgICAgIGlmIChhcnJbaiAtIDFdID4gYXJyW2pdKSB0aGVuCiAgICAgICAgYmVnaW4KICAgICAgICAgIGMgOj0gYXJyW2ogLSAxXTsKICAgICAgICAgIGFycltqIC0gMV0gOj0gYXJyW2pdOwogICAgICAgICAgYXJyW2pdIDo9IGM7CiAgICAgICAgICB2YWwgOj0gdmFsICsgMTsKICAgICAgICBlbmQ7CmVuZDsKCmNvbnN0IE1BWE4gPSAxMDA7CnZhciBhcnI6IGFycmF5IFsxLi5NQVhOXSBvZiBJbnRlZ2VyOwppLCBuLCB2YWw6IEludGVnZXI7CmJlZ2luCiAgcmVhZChuKTsKICBmb3IgaSA6PSAxIHRvIG4gZG8KICAgIHJlYWQoYXJyW2ldKTsKICB2YWwgOj0gMDsKICBidWJibGVTb3J0KGFyciwgbiwgdmFsKTsKICBmb3IgaSA6PSAxIHRvIG4gZG8KICAgIHdyaXRlKGFycltpXSwgJyAnKTsKICB3cml0ZWxuKCk7CiAgd3JpdGUodmFsKTsKZW5kLg==