a(n) = {
	my (d=select(sign, Set(digits(n))), p=1 + O(x^(n+1)));
	for (k=1, #d,
		my (r=d[k]);
		while (r<=n,
			p *= 1/(1-x^r);
			r = 10*r + d[k];
		);
	);
	polcoeff(p, n);
}

{
	mx = -1;
	r = 0;

	for (n=0, oo,
		v = a(n);
		if (mx < v,
			mx = v;
			print (r++ " " n);
		);
	);
}

quit