program main implicit none integer::N,i,j,tmp,count integer::A(100) integer::swaps(5000) data swaps/5000*-1/,count/0/ read *, N read *,A(1:N) do i=1, N-1 do j=1, N-i if(A(j).gt.A(j+1)) then tmp = A(j+1) A(j+1) = A(j) A(j) = tmp count = count + 1 swaps(count) = j end if end do end do print '(i0)',count do i=1,count print '(i0," ",i0)',swaps(i)-1,swaps(i) end do end program