n,k = gets.split.map &:to_i
if k > 0.5 * (n - 1) * (n - 2)
    puts -1
else
    ans = []
    (n-1).times{|e|
        ans << "1 #{e+2}"
    }
    c = 0
    (n-1).times{|e|
        break if 0.5 * (n - 1) * (n - 2) - k - c == 0
        ans << "#{e+2} #{e+3}"
        c += 1
    }
    puts ans.size
    puts ans
end