#include <bits/stdc++.h>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/assoc_container.hpp>

/*should use ::toupper/lower as its defined in global scope, not std*/

#define pb push_back
#define eb emplace_back
#define res reserve

#define pii pair<int, int>
#define mp make_pair
#define f first
#define s second

#define pq priority_queue<int, vector<int>, greater<int>>

#define mt make_tuple

#define endl << "\n" 
#define bigint __int128_t; // Not available in all contest systems
#define rr return
#define cc continue

#define feq(a, b) (abs(a - b) < 1e-9)

using ll = long long;

using namespace __gnu_pbds;
using namespace std;

typedef tree<int,null_type,less<int>,rb_tree_tag, tree_order_statistics_node_update> indexed_set;

const ll INF = 1e17; 
const int MOD = 1e9 + 7;

#define madd(a, b) ((int(a) % MOD + int(b) % MOD) % MOD)
#define msub(a, b) ((int(a) % MOD - int(b) % MOD) % MOD)
#define mmul(a, b) ((int(a) % MOD * int(b) % MOD) % MOD)

#define ue(u, v, g) g[u].eb(v), g[v].eb(u)

const int mxN = (int)1e7 + 10000;

int n;

void solve() {

	cin >> n;
	n = n % 10;

	unordered_set<int> hon = {
		2
 , 
4
, 
5
, 
7
,  
9
	};

	unordered_set<int> pon = {
		0
 , 
1
, 
6
,
8

	};

unordered_set<int> bon  ={3};


	if(hon.find(n) != hon.end()) {
		cout << "hon";
	} else if(bon.find(n) != bon.end()) {
		cout << "hon";
	} 
	else if(pon.find(n) != pon.end()) {
		cout << "hon";
	} 


}

int main() {

	// freopen("input.txt", "r", stdin);
	// freopen("output.txt", "w", stdout);

	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int t;
	//cin >> t;
	t = 1;

	while(t--) {
		solve();
	}

}