#include <bits/stdc++.h>
int K, T, A[16], B[16], N;
long long calc(int num, int s) {
  int i, j;
  long long sum;
  if (num) {
    sum = 0;
    for (i = s; i <= 15; i++)
      if (A[i]) {
        A[i]--;
        B[i]++;
        sum += calc(num - 1, i);
        A[i]++;
        B[i]--;
      }
    return sum;
  } else {
    sum = 1;
    for (i = 1; i <= N; i++) sum *= i;
    for (i = 0; i <= 15; i++)
      for (j = 1; j <= B[i]; j++) sum /= j;
    return sum;
  }
}
void output(int num) {
  int i;
  long long x;
  if (num)
    for (i = 0; i <= 15; i++)
      if (A[i]) {
        A[i]--;
        N = num - 1;
        x = calc(num - 1, 0);
        if (K <= x) {
          printf("%x", i);
          output(num - 1);
          break;
        } else {
          K -= x;
          A[i]++;
        }
      }
}
int main(void) {
  int i, j;
  long long x, y;
  scanf("%d %d", &K, &T);
  for (i = 0; i <= 15; i++) A[i] = T;
  for (i = 1;; i++) {
    N = i;
    x = calc(i, 0);
    A[0]--;
    N = i - 1;
    y = calc(i - 1, 0);
    A[0]++;
    if (K <= x - y)
      break;
    else
      K -= x - y;
  }
  for (j = 1; j <= 15; j++) {
    A[j]--;
    N = i - 1;
    x = calc(i - 1, 0);
    if (K <= x) {
      printf("%x", j);
      output(i - 1);
      break;
    } else {
      K -= x;
      A[j]++;
    }
  }
  return 0;
}
