N = gets.to_i cur = 1 edges = [] 1.upto(N - 1) do |v| edges << [v, N] end 2.upto(N - 2) do |u| edges << [u, u + 1] end puts edges.size edges.each do |u, v| puts "%d %d" % [u, v] end