#include<cstdio>
int main(){
	int n,x,y,z;
	int tof=0;//判断是否有合适的结果 1表示有 0表示没有
	while(scanf("%d%d%d%d",&n,&x,&y,&z)!=EOF){
		for(int a=9;a>=1;a--){
			for(int b=9;b>=0;b--){
			    int temp=a*10000+x*1000+y*100+z*10+b;
			    if(temp%n==0) 
			    {
				printf("%d %d %d\n",a,b,temp/n);tof=1; break;
			    }
		    }
		    if(tof==1) break;//这个if表示多组结果取最高,因为a和b都是从大到小,如果多组到这里的tof已经是1会直接输出
	    }
        if(tof==0)//如果没有这样的价格和火鸡数则输出0
        printf("0\n");
} 
return 0;
}