#include <bits/stdc++.h>
using namespace std;
const int maxn = 200005;
const int maxm = maxn * 2;
const int inf = 0x3f3f3f3f;
const long long mod = 998244353;
void init() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
}
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int head[maxn], tol;
struct node {
  int to, next, w;
} g[maxm];
void add(int u, int v) {
  g[tol].to = v;
  g[tol].next = head[u];
  head[u] = tol++;
}
int n, k;
int main() {
  init();
  cin >> n >> k;
  int ans = inf;
  for (int i = k - 1; i >= 1; i--) {
    if (n / i > 0 && n % i == 0) {
      int y = n / i;
      int x = y * k + i;
      ans = min(ans, x);
    }
  }
  cout << ans << endl;
  return 0;
}
