import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Search_Fraction {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int X = Integer.parseInt(br.readLine());
boolean up = true;
int row = 1;
int col = 1;
for (int i = 2; i <= X; i++) {
if(up){
if(row==1) {
col++;
up = false;
continue;
}
row--;
col++;
}
else if(!up){
if(col==1){
row++;
up = true;
continue;
}
row++;
col--;
}
}
System.out.println(row+"/"+col);
}
}
크게 올라가는 방향, 내려가는 방향을 기점으로 설계한다.
1. 올라가다가 맨위에 도착하게 되면, 옆으로 한칸 이동한뒤, 내려가는 방향으로 방향을 변경한다.
2. 내려가다가 맨 왼쪽에 도착하게 되면, 밑으로 한칸 이동한뒤 올라가는 방향으로 방향을 변경한다.
처음에 칸에 해당하는 내용을 전부 2차원 배열에 추가하였었는데, 그러면 메모리 초과가 나온다.
따라서 해당 인덱스를 출력하는것으로 변경했다.