Language: C++

/*　　　　　　　{:i:i:|i:i:/l/l--　 　 　--l/li:i:i|i:i:i:i}
　　　　　　 　 {:rx|:i:i ィi芥ミ 　 　 .ィi芥ミｉ:ｉ|ﾍ:i:i:}
.　　　 　 　 　 ｛ﾏ|ｉ:  {::’:} 　 　 　{:‘::} :ｉ:i:|〉｝:/
　　 　 　 　 　 乂|:i:| ｀¨¨¨¨´ 　 　　｀¨¨¨´  :i:ｉ:|ｼ/
　 　 　 　 　 　 ﾉ:|:i|　　　　　　′　　　 　   |:i:i:|ﾂ
　　　　　　　　/:/|:i:| ､　　　 　_ _ 　　　　  |:i:i:|
　 　 　　 　 /:/ .|:i:|/ ＼　　　 　 　     ｨ〔|:i:/
　　 　 　  　 〈;/ く刈＿ 个 　   -   　＜}　./|/_〉
　　     　　 r-っ'~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ~ﾞ|___
　　 　     /／ニつ　　　　　　 ､　　　　　　　ノﾆﾆ　＼
.　　　     |　　ニ⊃ 　./　/　 ──   /　/　　..⊆ﾆﾆ　　:|
.　　　     |　　丁´　 /|￣|￣  ─‐ /|￣|￣ 　 .￣|丁 　|
.　　　     |　　ﾉ.  　 |￣|￣  ─‐  |￣|￣ 　 　.|八 　|
.　　　     |　　||. 　 |￣|￣ |￣| |￣|￣ 　   .|　|
.　 　 　   |  　||   　￣￣￣　￣ 　￣￣￣　　  .|　|  |
.　 　 　  　    ||＿＿＿＿＿＿＿＿＿＿＿＿______|__　　 ',
　 　      ,′　 | ７ﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆ}  ,′
.　　     {　　　|/　}ﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆﾆ{/ 　 　
*///讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐讐。
#include <iostream> // cout, endl, cin
#include <string> // string, to_string, stoi
#include <vector> // vector
#include <algorithm> // min, max, swap, sort, reverse, lower_bound, upper_bound
#include <utility> // pair, make_pair
#include <tuple> // tuple, make_tuple
#include <cstdint> // int64_t, int*_t
#include <cstdio> // printf
#include <map> // map
#include <queue> // queue, priority_queue
#include <set> // set
#include <stack> // stack
#include <deque> // deque
#include <unordered_map> // unordered_map
#include <unordered_set> // unordered_set
#include <bitset> // bitset
#include <cctype> // isupper, islower, isdigit, toupper, tolower

using namespace std;

#define rep(a) _rep(0,int(a))
#define repj(a) for(int j=0;j<int(a);j++)
#define _rep(a,b) for(int i=int(a);i<int(b);i++)
#define ll long long
#define fst first
#define snd second
#define pf(b) printf("%.12f\n",(double)b)
#define _GLIBCXX_DEBUG
#define int long long


//factorial(練習)　階乗
int fact(int n) {
	int a = 1;
	for (int i = 1;i <= n;i++) a *= i;
	return a;
}
int sa(int n, int m) {      //差！
	if (n < m)return m - n;
	else return n - m;
}
int keta(int n) {
	int a=0;
	while (n / 10 != 0) {
		a++;
		n /= 10;
	}return a + 1;
}
int gketa(int n) {
	int a=1;
	rep(n-1)a *= 10;
	return a;
}

int n;
signed main() {
	cin >> n;
	n %= 10;
	if (n == 2 || n == 4 || n == 5 || n == 7 || n == 9)cout << "hon" << endl;
	else if (n == 3)cout << "bon" << endl;

	else cout << "pon" << endl;
}

Compiler output:
a.cc: In function 'long long int gketa(long long int)':
a.cc:48:13: error: expected primary-expression before 'long'
   48 | #define int long long
      |             ^~~~
a.cc:42:29: note: in expansion of macro 'int'
   42 | #define _rep(a,b) for(int i=int(a);i<int(b);i++)
      |                             ^~~
a.cc:40:16: note: in expansion of macro '_rep'
   40 | #define rep(a) _rep(0,int(a))
      |                ^~~~
a.cc:70:9: note: in expansion of macro 'rep'
   70 |         rep(n-1)a *= 10;
      |         ^~~
a.cc:48:13: error: expected primary-expression before 'long'
   48 | #define int long long
      |             ^~~~
a.cc:42:38: note: in expansion of macro 'int'
   42 | #define _rep(a,b) for(int i=int(a);i<int(b);i++)
      |                                      ^~~
a.cc:40:16: note: in expansion of macro '_rep'
   40 | #define rep(a) _rep(0,int(a))
      |                ^~~~
a.cc:70:9: note: in expansion of macro 'rep'
   70 |         rep(n-1)a *= 10;
      |         ^~~
a.cc:48:13: error: expected ';' before 'long'
   48 | #define int long long
      |             ^~~~
a.cc:42:38: note: in expansion of macro 'int'
   42 | #define _rep(a,b) for(int i=int(a);i<int(b);i++)
      |                                      ^~~
a.cc:40:16: note: in expansion of macro '_rep'
   40 | #define rep(a) _rep(0,int(a))
      |                ^~~~
a.cc:70:9: note: in expansion of macro 'rep'
   70 |         rep(n-1)a *= 10;
      |         ^~~
a.cc:48:13: error: expected primary-expression before 'long'
   48 | #define int long long
      |             ^~~~
a.cc:42:38: note: in expansion of macro 'int'
   42 | #define _rep(a,b) for(int i=int(a);i<int(b);i++)
      |                                      ^~~
a.cc:40:16: note: in expansion of macro '_rep'
   40 | #define rep(a) _rep(0,int(a))
      |                ^~~~
a.cc:70:9: note: in expansion of macro 'rep'
   70 |         rep(n-1)a *= 10;
      |         ^~~
a.cc:48:13: error: expected ')' before 'long'
   48 | #define int long long
      |             ^~~~
a.cc:42:38: note: in expansion of macro 'int'
   42 | #define _rep(a,b) for(int i=int(a);i<int(b);i++)
      |                                      ^~~
a.cc:40:16: note: in expansion of macro '_rep'
   40 | #define rep(a) _rep(0,int(a))
      |                ^~~~
a.cc:70:9: note: in expansion of macro 'rep'
   70 |         rep(n-1)a *= 10;
      |         ^~~
a.cc:42:22: note: to match this '('
   42 | #define _rep(a,b) for(int i=int(a);i<int(b);i++)
      |                      ^
a.cc:40:16: note: in expansion of macro '_rep'
   40 | #define rep(a) _rep(0,int(a))
      |                ^~~~
a.cc:70:9: note: in expansion of macro 'rep'
   70 |         rep(n-1)a *= 10;
      |         ^~~
a.cc:48:13: error: expected primary-expression before 'long'
   48 | #define int long long
      |             ^~~~
a.cc:42:38: note: in expansion of macro 'int'
   42 | #define _rep(a,b) for(int i=int(a);i<int(b);i++)
      |                                      ^~~
a.cc:40:16: note: in expansion of macro '_rep'
   40 | #define rep(a) _rep(0,int(a))
      |                ^~~~
a.cc:70:9: note: in expansion of macro 'rep'
   70 |         rep(n-1)a *= 10;
      |         ^~~
a.cc:42:45: error: 'i' was not declared in this scope
   42 | #define _rep(a,b) for(int i=int(a);i<int(b);i++)
      |                                             ^
a.cc:40:16: note: in expansion of macro '_rep'
   40 | #define rep(a) _rep(0,int(a))
      |                ^~~~
a.cc:70:9: note: in expansion of macro 'rep'
   70 |         rep(n-1)a *= 10;
      |         ^~~