mod = 1_000_000_007

n = gets.to_i
a = gets.split.map &:to_i

tmp0 = a.sum
tmp0 = ((tmp0 % mod) ** 2) % mod

tmp1 = a.sum { |e|
  e ** 2
}

tmp1 %= mod

puts tmp0 < tmp1 ? (tmp0 - tmp1 + mod) / 2 : (tmp0 - tmp1) / 2
