#pragma once
#include <vector>
#include <limits>

class PrimeNumberGenerator {
 public:
    explicit PrimeNumberGenerator(int start) {
        a = start < 2 ? 2 : start;
    }
    int GetNextPrime() {
        int64_t i = 2;
        while (true) {
            if (i * i > a) break;
            if (a % i == 0) {
                i = 1;
                a++;
            }
            i++;
        }
        a++;
        return a - 1;
    }

 private:
     int64_t a;
};