#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;

#define in cin
//ifstream in("4476.txt");
#define ERR -1

int multiplics[] = {2, 3, 5, 7};
int consumos[] = {100, 9900, 990000};
int consumosAcum[] = {0, 100, 10000, 1000000};
int gastosAcum[] = {0, 200, 29900, 4979900};

int consumo(int gasto)
{
    for (int i = 3; i > -1; i--)
        if (gasto >= gastosAcum[i])
            return consumosAcum[i] + (gasto - gastosAcum[i]) / multiplics[i];
    return ERR;
}

int resolver(int i, int j, int cons, int dif)
{
    int sumaCons = consumosAcum[i] + consumosAcum[j];
    int sumaDif = gastosAcum[j] - gastosAcum[i];

    //  x + y + sumaCons = cons
    // -mult[x] x + mult[y] y + sumaDif = dif

    double gasto = (cons - sumaCons - (double) (dif - sumaDif) / multiplics[j]) / (1 + (double) multiplics[i] / multiplics[j]);
    if (gasto < 0 || (i < 3 && gasto > consumos[i]))
        return ERR;

    double vecino = cons - sumaCons - gasto;
    if (vecino < 0 || (j < 3 && vecino > consumos[j]))
        return ERR;

    return (int) (gasto + 0.5); // redondeo
}

int main()
{
    int gasto, dif;
    while (in >> gasto >> dif && !(gasto == 0 && dif == 0))
    {
        int cons = consumo(gasto);
        int sol = ERR;

        for (int i=0; i<4 && sol==ERR; i++)
			for (int j=i; j<4 && sol==ERR; j++)
			{
				sol = resolver(i, j, cons, dif);
				if (sol != ERR)
					cout << gastosAcum[i] + multiplics[i] * sol << endl;
			}
    }
    return 0;
}

