#include namespace MyLib { template [[nodiscard]] static inline constexpr std::array make_is_prime() noexcept { std::array is_prime = { false }; for (uint_fast32_t i = 2; i <= max_value; ++i) is_prime[i] = true; for (uint_fast32_t i = 2; i * i <= max_value; ++i) if (is_prime[i]) [[unlikely]] for (uint_fast32_t j = i * i; j <= max_value; j += i) is_prime[j] = false; return is_prime; } } [[nodiscard]] static inline constexpr uint_fast64_t solve(const uint_fast64_t N) noexcept { static constexpr std::array is_prime = MyLib::make_is_prime<100'000>(); uint_fast64_t ans = 0; for (uint_fast32_t i = 2; static_cast(i) * i <= N; ++i) if (is_prime[i]) for (uint_fast64_t term = static_cast(i) * i; term <= N; term *= i) ans += term; return ans; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); uint_fast64_t N; std::cin >> N; std::cout << solve(N) << '\n'; return 0; }