def f(l, n)
  ans = 0
  mod = 10**9 + 7
  dp = [0]
  l.reverse.each do |li|
  	dp.push((li+dp.last)%mod)
  end
  dp.pop
  dp.shift
  dp.reverse!
  
  dp.length.times do |i|
    ans += (l[i] % mod) * dp[i]
    ans %= mod
  end
  ans
end

n = gets.chomp.to_i
l = gets.chomp.split.map(&:to_i)
p f(l, l.length)