n = gets.to_i
ary = gets.chomp.split.map(&:to_i)

def partition(ary, p, r)
    x = ary[r]
    i = p - 1
    p.upto(r - 1) do |j|
        if ary[j] <= x then
            i += 1
            tmp = ary[i]
            ary[i] = ary[j]
            ary[j] = tmp
        end
    end
    tmp = ary[i + 1]
    ary[i + 1] = ary[r]
    ary[r] = tmp
    return i + 1
end

q = partition(ary, 0, ary.size - 1)
ary[q] = "[#{ary[q]}]"
puts ary.join(' ')
