#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
	int N;
	int X;
	int Y;
	int Z;
	int n; //一只火鸡的单价
	int a;
	int b;
	int max=0; //最高单价
	while (scanf("%d", &N) != EOF) {
		scanf("%d %d %d", &X, &Y, &Z);
		max = 0; //每次重新输入时,max需要重置为0
		for (int i = 1; i <= 9; ++i) {
			for (int j = 0; j <= 9; ++j) {
				if (N!=0 && (10000*i+1000*X+100*Y+10*Z+j)%N==0) {
					n = (10000 * i + 1000 * X + 100 * Y + 10 * Z + j) / N;
					if (n > max) {
						max = n;
						a = i;
						b = j;
					}
				}
			}
		}
		if (max == 0) {
			printf("0\n");
		}
		else {
			printf("%d %d %d", a, b, n);
			printf("\n");
		}
	}

	return 0;
}

/*在祖父的文件中发现了一张账单。     72只火鸡 $_679_     该数字显然代表火鸡总价,首尾两位数字因褪色模糊而无法辨认,此处以空格(_)替代。请问褪色的两位数字是什么?每只火鸡的价格是多少?     我们需要编写一个程序来解决上述问题的通用版本。    N只火鸡 $_XYZ_     火鸡总数N介于1至99之间(含边界值)。原始总价为五位数,但仅能看到中间三位。假设首位数字非零,每只火鸡价格为整数美元,且所有火鸡单价相同。    已知N、X、Y、Z,编写程序推测两个模糊数字及原始价格。若存在多个价格候选值,输出应为最高价格。即程序需报告两个模糊数字及火鸡的最高单价。
*/

// 输入文件的第一行包含一个整数 N(0<N<100),表示火鸡的数量。在接下来的行中,包含原始价格 $_XYZ_ 的三个十进制数字 X、Y 和 Z,这些数字由空格分隔。

//  对于每个案例,输出两个褪色的数字以及火鸡的最高单价。