#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <float.h>
#include <stdlib.h>
#include <math.h>

long int calc1(long int keta, long int k);
long int calc2(long int keta, long int k);

int main(void)
{
	long int i, j, k;
	long int k;
	long int ans = 0;
	long int count = 0;
	long int keta[3];
	char n[200];
	
	scanf("%s %ld", n, &k);
	
	for(i = 0; i < strlen(n); i++) {
		if(n[i] != '0') {
			keta[count] = strlen(n) - i;
			count++;
		}
		if(count == k) {
			break;
		}
	}
	
	if(k == 1) {
		printf("%ld\n", (n[0] - '0') + (keta[0] - 1) * 9);
		return 0;
	} else if(k == 2) {
		ans = (keta[1] - '0') + calc2(keta[1] - 1, 1);
		ans += (keta[0] - '0') * calc2(keta[0] - 1, 1);
		printf("%ld\n", ans);
		return 0;
	} else {
		return 0;
	}
	
	return 0;
}
//最上位桁が必要
long int calc1(long int keta, long int k)
{
	if(k == 1) {
		return 9;
	} else if(k == 2) {
		return 9 * 9 * (keta - 1);
	} else {
		return 9 * calc2(keta - 1, 2);
	}
}

//最上位桁が必要ない
long int calc2(long int keta, long int k)
{
	if(k == 1) {
		return 9 * keta;
	} else if(k == 2) {
		return 9 * 9 * keta * (keta - 1) / 2;
	} else {
		return 9 * 9 * 9 * keta * (keta - 1) * (keta - 2) / 6;
	}
}