#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <sstream>
#include <cmath>
#include <queue>

using namespace std;

int main(){
	
	long long int INF = 10000000000000000;
	
	long long int sum[16][10];
	
	for(int i = 0; i < 15; i++){
		for(int j = 0; j < 10; j++){
			sum[i][j] = 0;
		}
	}
	sum[1][1] = 1;
	
	for(int dig = 1; dig < 15; dig++){
		for(int i = 2; i < 10; i++){
			sum[dig][i] = sum[dig][i - 1];
			if(i != 4 && i != 6){
				sum[dig][i] += sum[dig][1];
			}
		}
		sum[dig + 1][1] = sum[dig][9] + sum[dig][1];
	}
	
	for(int i = 0; i < 15; i++){
		sum[i][4] = INF;
		sum[i][6] = INF;
	}
	
	long long int n;
	
	while(true){
		cin >> n;
		if(n == 0){
			break;
		}
		
		int dig_start;
		
		for(int i = 1; i < 15; i++){
			if(n < sum[i][1]){
				dig_start = i - 1;
				break;
			}
		}
		
		for(int i = dig_start; i >= 1; i--){
			for(int j = 9; j >= 0; j--){
				if(n >= sum[i][j]){
					cout << j;
					n -= sum[i][j];
					break;
				}
				if(j == 0){
					cout << 0;
				}
			}
		}
		cout << endl;
		
	}
	
	return 0;
}