k = int(input())
l = int(input())
num = 1
if k == l:
print('YES\n0')
exit()
output = ''
while k ** num < l:
num += 1
if k ** num > l:
output += 'NO'
break
elif k ** num == l:
output += 'YES\n'
output += str(num - 1)
if output == '':
print('NO')
else:
print(output)
#include<iostream>
using namespace std;
int main()
{
long long k, l;
cin >> k >> l;
long long count = 0;
if (l % k == 0)
{
while (l != k && l > 0)
{
if (l % k != 0)
{
cout << "NO";
return 0;
}
l /= k;
++count;
}
}
else
{
cout << "NO";
return 0;
}
cout <<"YES\n"<< count;
}
145. Binary Tree Postorder Traversal | 94. Binary Tree Inorder Traversal |
101. Symmetric Tree | 77. Combinations |
46. Permutations | 226. Invert Binary Tree |
112. Path Sum | 1556A - A Variety of Operations |
136. Single Number | 169. Majority Element |
119. Pascal's Triangle II | 409. Longest Palindrome |
1574A - Regular Bracket Sequences | 1574B - Combinatorics Homework |
1567A - Domino Disaster | 1593A - Elections |
1607A - Linear Keyboard | EQUALCOIN Equal Coins |
XOREQN Xor Equation | MAKEPAL Weird Palindrome Making |
HILLSEQ Hill Sequence | MAXBRIDGE Maximise the bridges |
WLDRPL Wildcard Replacement | 1221. Split a String in Balanced Strings |
1002. Find Common Characters | 1602A - Two Subsequences |
1555A - PizzaForces | 1607B - Odd Grasshopper |
1084A - The Fair Nut and Elevator | 1440B - Sum of Medians |