#include <bits/stdc++.h>
const int N = 110;
int n, a, b, ans[N];
bool succ = true;
int main() {
  scanf("%d%d%d", &n, &a, &b);
  if (a > 0 && b == 0) {
    if (n == 1 || n == 2) {
      printf("-1\n");
      return 0;
    }
    ans[1] = ans[2] = 1;
    for (int i = 3; i <= n; ++i)
      if (a) {
        --a;
        ans[i] = ans[i - 1] + 1;
        if (ans[i] > 50000) {
          succ = false;
          break;
        }
      } else
        ans[i] = 1;
  } else {
    ans[1] = 1;
    for (int i = 2; i <= n; ++i) {
      if (b) {
        --b;
        ans[i] = ans[i - 1] * 2;
        if (ans[i] > 50000) {
          succ = false;
          break;
        }
      } else if (a) {
        --a;
        ans[i] = ans[i - 1] + 1;
        if (ans[i] > 50000) {
          succ = false;
          break;
        }
      } else
        ans[i] = 1;
    }
  }
  if (succ && a == 0 && b == 0) {
    printf("%d", ans[1]);
    for (int i = 2; i <= n; ++i) printf(" %d", ans[i]);
    printf("\n");
  } else
    printf("-1\n");
  return 0;
}
