use proconio::input;
const DEBUG:bool = false;
// fn increase_good_digit(a: &mut Vec<char>, i: usize) {
// if i >= a.len() {
// a.push('2');
// } else {
// match a[i] {
// '0' => {
// a[i] = '2';
// }
// '2' => {
// a[i] = '4';
// }
// '4' => {
// a[i]= '6';
// }
// '6' => {
// a[i] = '8';
// }
// '8' => {
// a[i] = '0';
// increase_good_digit(a, i+1);
// }
// _ => panic!("This should not happen"),
// }
// }
// }
// #[test]
// fn test_inc_dig() {
// let mut a: Vec<char> = vec!['0'];
// increase_good_digit(&mut a, 0);
// assert_eq!(a, vec!['2']);
// increase_good_digit(&mut a, 0);
// assert_eq!(a, vec!['4']);
// increase_good_digit(&mut a, 0);
// assert_eq!(a, vec!['6']);
// increase_good_digit(&mut a, 0);
// assert_eq!(a, vec!['8']);
// increase_good_digit(&mut a, 0);
// assert_eq!(a, vec!['0', '2']);
// increase_good_digit(&mut a, 0);
// assert_eq!(a, vec!['2', '2']);
// increase_good_digit(&mut a, 0);
// assert_eq!(a, vec!['4', '2']);
// increase_good_digit(&mut a, 0);
// assert_eq!(a, vec!['6', '2']);
// increase_good_digit(&mut a, 0);
// assert_eq!(a, vec!['8', '2']);
// increase_good_digit(&mut a, 0);
// assert_eq!(a, vec!['0', '4']);
// let mut b = vec!['8','8','8'];
// increase_good_digit(&mut b, 0);
// assert_eq!(b, vec!['0', '0','0','2']);
// }
// fn get_next_good_integer(a: &mut Vec<char>) {
// increase_good_digit(a, 0);
// }
fn main() {
input! {
n: usize
};
// // res will contain (in the other direction) the digit of the given number
// let mut res: Vec<char> = vec!['0'];
// for _i in 0..n-1 {
// get_next_good_integer(&mut res);
// }
// // We will print the number now
// for i in (0..res.len()).rev() {
// print!("{}", res[i]);
// }
// println!();
let mut digits_5: Vec<u8> = vec![];
// The key is to substract 1 from n now!!!
let mut res = n-1;
while res != 0 {
digits_5.push((res % 5) as u8 );
res /= 5;
}
if DEBUG {
println!("digits_5: {:?}", digits_5);
}
// Now we need to rebuild the number
let mut ans: usize = 0;
for i in 0..digits_5.len() {
if DEBUG {
println!("i: {i}, ans= {ans}, to be added: {} ", 2*(digits_5[i] as usize)*((10 as usize).pow(i as u32)));
}
ans += 2*(digits_5[i] as usize)*((10 as usize).pow(i as u32));
}
println!("{}", ans );
}