[TASK]:
You will be given lines of pseudocode, your task is to write the corresponding C++ code. The pseudocode will provide detailed description of the c++ code line by line. The pseudocode is garanteed to be correct and complete.

[INSTRUCTION]:
The following libraries are already included in the code.
```cpp
#include <cstdio>
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
#include <cmath>
#include <cstring>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <list>
#include <fstream>
#include <climits>
#include <cassert>
#include <iomanip>
#include <sstream>
#include <bitset>
using namespace std;
```
Do not include them in your code again. Please surround your code with ```cpp and ``` markers. Note that the code should correspond to the pseudocode line by line.

[PSEUDOCODE]:
create pair of integer, integer array par with size 10001
create string set str
define the main function
    create string s
    create integers n, i
    read n read s
    if n is 8
        print "vaporeon" print newline
    else if n is 6
        print "espeon" print newline
    else if n is 7
        if s[0] is '.'
            if s[1] is 'o'
                print "jolteon" print newline
                return to indicate successful execution
            end of the block
            if s[1] is 'm'
                print "umbreon" print newline
                return to indicate successful execution
            end of the block
            if s[1] is 'e'
                print "leafeon" print newline
                return to indicate successful execution
            end of the block
            if s[1] is 'y'
                print "sylveon" print newline
                return to indicate successful execution
            end of the block
            if s[1] is 'l'
                if s[3] is 'r'
                    print "flareon" print newline
                    return to indicate successful execution
                else
                    print "glaceon" print newline
                    return to indicate successful execution
                end of the block
            end of the block
            if s[1] is '.'
                if s[2] is 'b'
                    print "umbreon" print newline
                    return to indicate successful execution
                end of the block
                if s[2] is 'l'
                    if s[3] is 't'
                        print "jolteon" print newline
                        return to indicate successful execution
                    else
                        print "sylveon" print newline
                        return to indicate successful execution
                    end of the block
                end of the block
                if s[2] is 'a'
                    if s[3] is 'r'
                        print "flareon" print newline
                        return to indicate successful execution
                    end of the block
                    if s[3] is 'c'
                        print "glaceon" print newline
                        return to indicate successful execution
                    else
                        print "leafeon" print newline
                        return to indicate successful execution
                    end of the block
                end of the block
                if s[2] is '.'
                    if s[3] is 'r'
                        print "flareon" print newline
                        return to indicate successful execution
                    end of the block
                    if s[3] is 'c'
                        print "glaceon" print newline
                        return to indicate successful execution
                    end of the block
                    if s[3] is 'f'
                        print "leafeon" print newline
                        return to indicate successful execution
                    end of the block
                    if s[3] is 't'
                        print "jolteon" print newline
                        return to indicate successful execution
                    end of the block
                    if s[3] is 'v'
                        print "sylveon" print newline
                        return to indicate successful execution
                    else
                        print "umbreon" print newline
                        return to indicate successful execution
                    end of the block
                end of the block
            end of the block
        end of the block
        if s[0] is 'j'
            print "jolteon" print newline
            return to indicate successful execution
        end of the block
        if s[0] is 'f'
            print 'flareon" print newline
            return to indicate successful execution
        end of the block
        if s[0] is 'u'
            print "umbreon" print newline
            return to indicate successful execution
        end of the block
        if s[0] is 'l'
            print "leafeon" print newline
            return to indicate successful execution
        end of the block
        if s[0] is 'g'
            print "glaceon" print newline
            return to indicate successful execution
        end of the block
        if s[0] is 's'
            print "sylveon" print newline
            return to indicate successful execution
        end of the block
    end of the block
    return to indicate successful execution
end of the block

[CODE]:

pair<int, int> par[10001];
set<string> str;
int main() {
    string s;
    int n, i;
    cin >> n >> s;
    if (n == 8)
        cout << "vaporeon" << endl;
    else if (n == 6)
        cout << "espeon" << endl;
    else if (n == 7) {
        if (s[0] == '.') {
            if (s[1] == 'o') {
                cout << "jolteon" << endl;
                return 0;
            }
            if (s[1] == 'm') {
                cout << "umbreon" << endl;
                return 0;
            }
            if (s[1] == 'e') {
                cout << "leafeon" << endl;
                return 0;
            }
            if (s[1] == 'y') {
                cout << "sylveon" << endl;
                return 0;
            }
            if (s[1] == 'l') {
                if (s[3] == 'r') {
                    cout << "flareon" << endl;
                    return 0;
                } else {
                    cout << "glaceon" << endl;
                    return 0;
                }
            }
            if (s[1] == '.') {
                if (s[2] == 'b') {
                    cout << "umbreon" << endl;
                    return 0;
                }
                if (s[2] == 'l') {
                    if (s[3] == 't') {
                        cout << "jolteon" << endl;
                        return 0;
                    } else {
                        cout << "sylveon" << endl;
                        return 0;
                    }
                }
                if (s[2] == 'a') {
                    if (s[3] == 'r') {
                        cout << "flareon" << endl;
                        return 0;
                    }
                    if (s[3] == 'c') {
                        cout << "glaceon" << endl;
                        return 0;
                    } else {
                        cout << "leafeon" << endl;
                        return 0;
                    }
                }
                if (s[2] == '.') {
                    if (s[3] == 'r') {
                        cout << "flareon" << endl;
                        return 0;
                    }
                    if (s[3] == 'c') {
                        cout << "glaceon" << endl;
                        return 0;
                    }
                    if (s[3] == 'f') {
                        cout << "leafeon" << endl;
                        return 0;
                    }
                    if (s[3] == 't') {
                        cout << "jolteon" << endl;
                        return 0;
                    }
                    if (s[3] == 'v') {
                        cout << "sylveon" << endl;
                        return 0;
                    } else {
                        cout << "umbreon" << endl;
                        return 0;
                    }
                }
            }
        }
        if (s[0] == 'j') {
            cout << "jolteon" << endl;
            return 0;
        }
        if (s[0] == 'f') {
            cout << "flareon" << endl;
            return 0;
        }
        if (s[0] == 'u') {
            cout << "umbreon" << endl;
            return 0;
        }
        if (s[0] == 'l') {
            cout << "leafeon" << endl;
            return 0;
        }
        if (s[0] == 'g') {
            cout << "glaceon" << endl;
            return 0;
        }
        if (s[0] == 's') {
            cout << "sylveon" << endl;
            return 0;
        }
    }
    return 0;
}