#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <iostream>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
ll dp[20][20];
int bit[20];
ll dfs(int pos, int remainder, int flag) {
if (pos <= 0) {
return remainder != 0;
}
if (!flag && dp[pos][remainder] != -1) {
return dp[pos][remainder];
}
ll ans = 0;
int end = flag ? bit[pos] : 9;
for (int i = 0; i <= end; i++) {
if (i == 7) {
continue;
}
ans += dfs(pos - 1, (remainder * 10 + i) % 7, flag && i == end);
}
if (!flag) {
dp[pos][remainder] = ans;
}
return ans;
}
ll cal(ll n) {
memset(dp, -1, sizeof(dp));
int num = 0;
while (n) {
bit[++num] = n % 10;
n /= 10;
}
return dfs(num, 0, 1);
}
int main() {
ll m, n;
while (scanf("%lld%lld", &m, &n) != EOF) {
ll temp = m - cal(m);
ll left = 0, right = (ll) 1e18;
while (left < right) {
ll mid = (left + right) / 2;
if (mid - cal(mid) >= temp + n) {
right = mid;
} else {
left = mid + 1;
}
}
printf("%lld\n", left);
}
}