class PrimeNumberGenerator {
 public:
    explicit PrimeNumberGenerator(int start);
    int GetNextPrime();
 private:
    int start_value;
};

PrimeNumberGenerator::PrimeNumberGenerator(int start) {
    this->start_value = start;
}


int PrimeNumberGenerator::GetNextPrime() {
    while ( true ) {
        int cnt = 0;
        for ( int i = 1 ; i <= start_value ; i++ ) {
            if ( start_value % i == 0 ) {
                cnt++;
            }
            if ( cnt > 2 ) {
                break;
            }
        }
        if ( cnt <= 2 && this->start_value != 1 ) {
            int returned = this->start_value;
            this->start_value++;
            return returned;
        }
        this->start_value++;
    }
}