#!/usr/bin/perl

my $n = <STDIN>;
$n =~ s/[\x00-\x20]+$//ios;
my ($k) = map { $_ - 0 } split(/\s+/,<STDIN>);

if( length($n) < $k ){
  print "0\n"; exit(0);
}

my $tot = 0;

if( $k == 1 ){

  # 最大の桁に行きつく前まで
  for(my $p=1;$p<length($n);$p++){
    $tot += 9;  # 一番上の桁のみ
  }
  $tot += (substr($n,0,1) - 0); # 最大桁の場合は一番上で超えない範囲だけ・・

} elsif( $k == 2 ){

  # 最大の桁に行きつく前まで(1桁目固定)
  for(my $p=2;$p<length($n);$p++){
    $tot += 9 * ( $p - 1 ) * 9;
  }
  
  # 最大桁だけ要工夫
  my $top = substr($n,0,1) - 0;
  for(my $i=1;$i<$top;$i++){
    # トップが超えない範囲では、その下の桁は自由に設定できる
    $tot += ( length($n) - 1 ) * 9;
  }
  # トップがちょうどその数字の時、次に出てくる0以外の数字のケタをひろう
  my $i = 1;
  for($i=1; $i<$n; $i++){
    last if (substr($n,$i,1) - 0) > 0;
  }
  my $keta = length($n) - $i;
  if( $keta > 0 ){
    $tot += ( ( substr($n,$i,1) - 0 ) + ( $keta - 1 ) * 9 );
  }

} elsif( $k == 3 ){

  # 最大の桁に行きつく前まで
  for(my $p=3;$p<length($n);$p++){
    $tot += 9 * &f( $p - 1 );
  }
  
  # 最大桁だけ要工夫
  my $top = substr($n,0,1) - 0;
  
  for(my $i=1;$i<$top;$i++){
    # トップが超えない範囲では、その下の桁は自由に設定できる
    $tot += &f( $p );
  }
  
  # トップがちょうどその数字の時、次に出てくる0以外の数字のケタをひろう
  my $i = 1;
  for($i=1; $i<$n; $i++){
    last if (substr($n,$i,1) - 0) > 0;
  }
  my $keta = length($n) - $i;
  my $key = substr($n,$i,1) - 0; # その場所の数を覚えておく
  
  if( $keta >= 2 ){ # 残り2桁以上ないとだめなので
    
    # ここが0の場合
    $tot += &f( $keta - 1 ) if $keta - 1 >= 2; 
    
    # ここが1~($key-1)
    for(my $j = 1; $j<$key; $j++){
      $tot += 9 * ($keta - 1 );
    }
    
    # ここがkey
    my $j;
    for( $j=$i+1;$j<$n;$j++){
      last if (substr($n,$j,1) - 0) > 0;
    }
    my $keta2 = length($n) - $j;
    my $key2 = substr($n,$j,1) - 0; # その場所の数を覚えておく
    
    if( $keta2 >= 1 ){
      
      # ここが0の場合
      $tot += 9 * ( $keta2 - 1 ) if ($keta2 - 1 >= 1); # keta2のところが0の場合のとき
      # ここが1以上の場合
      
      $tot += $key2;
    }
  }
}

print "$tot\n";

exit(0);

sub f {
  my $n = shift;
  return ( 9 * 9 * $n * ( $n - 1 ) / 2 );
}


