#include<bits/stdc++.h>
#include<iostream>
#include<vector>
#include<queue>
#include<cmath>
#include<stack>
#include<algorithm>
#include<fstream>

#define int long long
#define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define PI 3.14159265358979323846

// VECTOR DEFINITION 
#define vvi vector<vector<int>>
#define vvb vector<vector<bool>>
#define vi vector<int>
#define vl vector<long long>

//VECTOR PAIR
#define vpi vector<pair<int,int>>
#define mp make_pair
#define ff first
#define ss second
 
#define pb push_back

//MAXIMUM / MINIMUM ELEMENT IN VECTOR
#define mxe(v) *max_element(v.begin(),v.end())
#define mne(v) *min_element(v.begin(),v.end())

//SORTING OR REVERSING ANY VECTOR OR STRING
#define srt(a) sort(a.begin(),a.end());
#define rvr(a) reverse(a.begin(),a.end());
 
//LOOPS : s- start , e -end
#define loop(i,s,e) for(int i = s; i<e ; i++)
#define  rloop(i,s,e) for(int i = s; i>=e ;i--)
#define dloop(i,j,m,n) for(int i =0 ;i<m;i++){for(int j = 0;j<n;j++)} //double loop

typedef long long ll;
#define bits(n) __builtin_popcount(n);

#define YES cout<<"YES"<<endl;
#define NO cout<<"NO"<<endl;

using namespace std;

ll hcf(ll a,ll b){
    if(b==0) return a;
    return hcf(b,a%b);
}
 
ll lcm(ll a,ll b){
    return (a*b)/hcf(a,b);
}
void rdarr(vi& v, ll n){
    int x;
    loop(i,0,n){
        cin>>x;
        v.pb(x);
    }
}
void div(int n, vector<int>& di){
    for(int i =2;i<=sqrt(n);i++){
        if(n%i == 0){
            if(n/i !=i){
                di.pb(n/i);
            }
            di.pb(i);
        }
    }
    di.pb(1);
}
void solve(int t){
    int n;
    cin>>n;
    int r = n%10;
    if(r==2 || r==4 || r==5 || r==7 ||r==9) cout<<"hon"<<endl;
    else if(r==0 || r==1|| r==6 || r==8) cout<<"pon"<<ebdl;
    else cout<<"bon"<<endl;
   
}
signed main(){
   fast;
    // freopen("in.txt", "r", stdin);   
	// freopen("out.txt", "w", stdout);
    int t =1;
    // cin>>t;
    while(t--){
        solve(t);
    }
}