import java.util.Arrays;
class Solution {
public int solution(int n, int k) {
return (int)Arrays.stream(toBinaryString(n, k).split("0"))
.filter(p -> isPrime(p))
.count();
}
public String toBinaryString(int n, int k) {
StringBuilder sb = new StringBuilder();
while(n > 0) {
sb.append(n%k);
n /= k;
}
return sb.reverse().toString();
}
public boolean isPrime(String p) {
try {
long num = Long.parseLong(p);
if(num < 2) return false;
for(int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0)
return false;
}
return true;
} catch (NumberFormatException e) {
return false;
}
}
}