#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, a, b, sum = 1;
  cin >> n >> a >> b;
  if (n == 1) {
    puts("1");
    return 0;
  }
  if (b == 0 && a == n - 1) {
    puts("-1");
    return 0;
  }
  bool fl = (b == 0);
  int now = 1;
  vector<long long> ans(n, 1);
  while (now < ans.size() && b > 0) {
    ans[now] = sum + 1;
    sum += ans[now];
    b--;
    now++;
  }
  while (now < ans.size() && a > 0) {
    ans[now] = ans[now - 1] + 1;
    a--;
    now++;
  }
  if (fl && ans.size() >= 2) {
    sum = ans.back();
    ans.insert(ans.begin(), sum);
    ans.pop_back();
  }
  for (int i = 0; i < ans.size(); i++) {
    if (ans[i] > 50000) {
      puts("-1");
      return 0;
    }
  }
  for (int i = 0; i < ans.size(); i++) {
    printf("%lld ", ans[i]);
  }
  return 0;
}
