#include <iostream>
#include <map>
#include <algorithm>
#include <vector>
#include <cmath>

using namespace std;

typedef long long ll;

int cnv(int n){
	if(n<=3)
		return n;
	else{
		if(n==4)
			return 5;
		else
			return n+2;
	}
}

void dfs(int num){
	if(num==0)
		return;
	dfs(num/8);
	cout<<cnv(num%8);
}

int main(){

	int n;
	while(cin>>n&&n!=0){
		dfs(n);
		cout<<endl;
	}


	return 0;
}


//int fourOrSixPlace(ll num){
//	int idx=-1;
//	int cnt=0;
//	while(num>0){
//		if(num%10==6||num%10==4){
//			idx=cnt;
//		}
//		num/=10;
//		cnt++;
//	}
//	return idx;
//}
//
//int main(){
//
//	//int cc=0;
//	//for(ll i = 1; i <= 100000; i++){
//	//	int ret=fourOrSixPlace(i);
//	//	if(ret!=-1)
//	//		cc++;
//	//}
//	//cout<<cc<<endl;
//	ll n;
//	while(cin>>n&&n!=0){
//		ll cnum=0;
//		ll cnt=0;
//		while(1){
//
//			cnum+=100000;
//			if(cnum>n)
//				break;
//			int ret=fourOrSixPlace(cnum);
//			if(ret==-1){
//				n+=67232;
//			}
//			else{
//				n+=67232;
//				cnum+=(ll)pow(10.0,ret);
//				n+=(ll)pow(10.0,ret);
//			}
//		}
//
//		if(true){
//			cnum-=100000;
//			cnum++;
//
//			for(ll i = cnum; i <= n; i++){
//				int ret=fourOrSixPlace(i);
//				if(ret!=-1){
//					if(ret==0){
//						n++;
//					}
//					else{
//						n+=(ll)pow(10.0,ret);
//						i+=(ll)pow(10.0,ret);
//					}
//				}
//			}
//		}
//		cout<<n<<endl;
//	}
//
//
//	return 0;
//}