#include <iostream>
#include <math.h>
#include <string.h>
#define MAX 10000000
using namespace std;
int A, P, rst = 0;
int is_visit[MAX];
int cal_num(int n){
int digit_sum = 0;
while(n / 10 != 0){
digit_sum += pow(n % 10, P);
n = n / 10;
}
digit_sum += pow(n, P);
return digit_sum;
}
void dfs(int n){
is_visit[n] += 1;
if(is_visit[n] == 3){
for(int i = 0; i < MAX; i++){
if(is_visit[i] == 1) rst++;
}
return;
}
dfs(cal_num(n));
}
int main(){
cin >> A >> P;
dfs(A);
cout << rst << endl;
}