#include <bits/stdc++.h>
const int maxn = 100 + 5;
int ans[maxn], len;
int main() {
  int n, a, b;
  while (scanf("%d%d%d", &n, &a, &b) == 3) {
    if (b == 0 && n - a - b == 1 && a > 0) {
      printf("-1\n");
      continue;
    }
    len = 0;
    ans[len++] = 1;
    int t = 1;
    int tol = 1;
    for (int i = 0; i < b; i++) {
      ans[len++] = tol + 1;
      tol += tol + 1;
    }
    if (a > 0 && b == 0) {
      ans[len++] = 1;
      t++;
    }
    int u = ans[len - 1];
    for (int i = 0; i < a; i++) {
      ans[len++] = ++u;
    }
    for (int i = 0; i < n - a - b - t; i++) {
      ans[len++] = 1;
    }
    bool ok = true;
    for (int i = 0; i < n; i++) {
      if (ans[i] > 50000) {
        ok = false;
        break;
      }
    }
    if (!ok)
      printf("-1\n");
    else {
      for (int i = 0; i < n; i++) {
        printf("%d%c", ans[i], i == n - 1 ? '\n' : ' ');
      }
    }
  }
  return 0;
}
