#include <bits/stdc++.h>
#include <algorithm>
#include <string>
#include <string.h>

using namespace std;

void init() {
    cin.tie(0);
    cin.sync_with_stdio(0);
}

long long sumSums(int a[], int b, int e) {

    long long sum = 0;
    for (int i = b; i <= e; i++) {
        sum += a[i];
    }
    return sum;

}

string removeZeros(string &s) {
    int c = 0;
    for (int i = 0; i < s.length(); i++) {

        if (s[i] == '0')
            c++;
    }
    for (int i = 0; i < c; i++) {
        s.erase(s.find('0'), 1);
    }
    return s;

}

bool isPrime(int a) {

    if (a == 1 || a == 0)
        return false;
    bool is = true;
    for (int i = sqrt(a); i >= 2; i--) {
        if ((a) % i == 0) {
            is = false;
            break;
        }
    }
    if (is)
        return true;
    else
        return false;

}

string intToString(int &a) {
    string s = "";
    while (a != 0) {
        char c = a % 10 + '0';
        a = a / 10;
        s = c + s;
    }
    return s;

}

int stringToInt(string &s) {
    int a = 0;
    int j = s.length() - 1;
    for (int i = 0; i < s.length(); i++) {
        int x = s[i] - '0';
        a += x * pow(10, j--);
    }
    return a;
}

int charToInt(char s) {

    return s - '0';
}

bool isPalindrome(int a) {

}

void print(int n) {
    for (int i = 1; i < n; i++) {
        cout << i << " ";
    }
    cout << n;
}

int sum(int a, int b) {

    return a + b;

}

int lenthOfInt(int a) {

    int c = 1;
    while (a != 0) {

        c++;
        a = a / 10;

    }
    return c;
}

int lengthfunction(int number) {
    int counter = 0;
    while (number) {
        number = number / 10;
        counter++;
    }
    return (counter);
}

/*bool isLuky(int a) {
    string s = intToString(a);
    for (int i = 0; i < s.length(); i++) {
        for (int j = i + 1; j < s.length(); j++) {
            if (i == j)
                continue;
            else if (s[i] == s[j]) {
                return false;
            }
        }
    }
    return true;

}*/

bool found(string s, int a) {

    for (int i = 0; i < a; i++) {
        if (s[a] == s[i])return true;
    }
    return false;
}

int nFound(string s[], int a) {

    int c = 0;
    for (int i = 0; i < a; i++) {
        if (s[a] == s[i])c++;
    }
    return c;
}

bool isLuky(int n) {
    string s = intToString(n);
    int is = true;
    for (int i = 0; i < s.length(); i++) {
        if (s[i] != '4' && s[i] != '7') {
            return false;

        }
    }

    return true;
}

bool isPalindrome(string str) {
    int l = 0;
    int h = str.length() - 1;

    while (h > l) {
        if (str[l++] != str[h--]) {

            return false;
        }
    }
    return true;
}

void swap(int &a, int &b) {
    int t = a;
    a = b;
    b = t;

}

int main() {

    init();
    int a;cin>>a;
    string s=to_string(a);

    if (s[s.length() - 1] == '2' || s[s.length() - 1] == '4' || s[s.length() - 1]  == '5' || s[s.length() - 1]  == '7' ||
            s[s.length() - 1]  == '9')
        cout << "hon";
    else if (s[s.length() - 1] == '0' || s[s.length() - 1]== '1' || s[s.length() - 1] == '6' || s[s.length() - 1]  == '8')
        cout << "pon";
    else if (s[s.length() - 1] =='3') cout << "bon";
    return 0;

}

Measured memory_bytes: 3736