#include <iostream>
#include <queue>
#include <stdio.h>
#include <string>
#include <cmath>
int arr[1001];
bool visited[1001];
int a, p;
std::string str;
std::vector<int> vec;
void bfs(std::string v) {
int len = v.length();
int sum = 0;
for (int i = 0;i < len;i++) {
int k = v[i] - '0';
int q = pow(k, p);
sum += q;
}
vec.push_back(sum);
if (vec.size()>1) {
for (int i = 0;i < vec.size()-1;i++) {
if (vec[i] == sum) {
printf("%d", i);
return;
}
}
}
std::string s = std::to_string(sum);
bfs(s);
}
int main() {
std::cin >> str;
std::cin >> p;
int tmp=std::stoi(str);
vec.push_back(tmp);
bfs(str);
}