#include <cmath>
#include <iostream>
#include <iterator>
#include <pstade/oven/counting.hpp>
#include <pstade/oven/filtered.hpp>
#include <pstade/oven/copied_to.hpp>
#include <pstade/oven/taken.hpp>
#include <pstade/oven/regular.hpp>
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
unsigned long powul(unsigned long x, unsigned long y) {
  return static_cast<unsigned long long>(std::pow(static_cast<double>(x), static_cast<double>(y)));
}
int main() { namespace bll = boost::lambda;
  using namespace pstade::oven;
  unsigned n;
  std::cin >> n;
  counting(1u, max_count)
    | filtered(regular((bll::bind(powul, 30, bll::_1) % bll::_1) == 0))
    | taken(n)
    | copied_to(std::ostream_iterator<unsigned>(std::cout, "\n"));
}