import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Stack;
public class Main {
private static Map<Integer,Character> map = new HashMap<>();
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
long key = in.nextLong();
createMap();
String str = func(Math.abs(key));
if (key < 0)
str = "-"+str;
else if (key == 0)
str = "0";
System.out.println(str);
}
public static void createMap(){
for (int i=0;i<10;i++){
map.put(i,(i+"").charAt(0));
}
map.put(10,'`');
map.put(11,'!');
map.put(12,'@');
map.put(13,'#');
map.put(14,'$');
map.put(15,'%');
map.put(16,'^');
map.put(17,'&');
map.put(18,'*');
map.put(19,'(');
map.put(20,')');
map.put(21,'{');
map.put(22,'}');
map.put(23,'\\');
map.put(24,'<');
map.put(25,'>');
map.put(26,'?');
}
public static String func(long k){
Stack<Long> stack = new Stack<>();
long r = 0;
while (k > 0){
r = k % 27;
k /= 27;
stack.push(r);
}
StringBuilder stringBuilder = new StringBuilder();
while (!stack.empty()){
long key = stack.pop();
stringBuilder.append(map.get((int)key));
}
return stringBuilder.toString();
}
}