fn main() {
    let n: usize = read();
    let n = n % 10;
    let hon = [2, 4, 5, 7, 9];
    let pon = [0, 1, 6, 8];
    let bon = [3];
    for &h in hon.iter() {
        if n == h {
            println!("hon");
            exit(0);
        }
    }
    for &h in pon.iter() {
        if n == h {
            println!("pon");
            exit(0);
        }
    }
    for &h in bon.iter() {
        if n == h {
            println!("bon");
            exit(0);
        }
    }
}

// =========
#[allow(unused_imports)]
use std::cmp::{max, min};
#[allow(unused_imports)]
use std::collections::{HashMap, HashSet};
#[allow(unused_imports)]
use std::process::exit;

#[allow(dead_code)]
const MOD: usize = 1000000007;

fn read<T: std::str::FromStr>() -> T {
    use std::io::Read;
    let stdin = std::io::stdin();
    let stdin = stdin.lock();
    let token: String = stdin
        .bytes()
        .map(|c| c.expect("failed to read char") as char)
        .skip_while(|c| c.is_whitespace())
        .take_while(|c| !c.is_whitespace())
        .collect();
    token.parse().ok().expect("failed to parse token")
}

// =========
