n = gets.to_i m = Math.sqrt(n)+10 # 素数かどうかを持っておく p = Array.new(m,true) # エラトステネスの篩 i = 2 while i <= m if p[i] # i の倍数を除外 j = i*2 while j <= m p[j] = false j += i end end i += 1 end i = 2 ans = 0 while i <= m if p[i] # i^n を ans に足していく k = i*i while k <= n ans += k k *= i end end i += 1 end puts ans