#include <bits/stdc++.h>
using namespace std;
const double PI = 3.1415926535897932384626433832795;
const int N = 1 << 17;
vector<int> ans;
int main() {
  int n, a, b;
  cin >> n >> a >> b;
  if (n == 1 && a == 0 && b == 0) {
    cout << 1 << endl;
    return 0;
  }
  if (b == 0) {
    if (a + 1 >= n) {
      cout << -1 << endl;
      return 0;
    }
    vector<int> v(2, 1);
    for (int i = (0); i < (a); ++i) v.push_back(i + 2);
    while (v.size() != n) v.push_back(1);
    for (int i = (0); i < (v.size()); ++i)
      printf("%d%c", v[i], i == n - 1 ? '\n' : ' ');
    return 0;
  }
  ans.push_back(1);
  int s = 1;
  for (int i = (0); i < (b); ++i) {
    if (s + 1 > 50000) {
      cout << "-1\n";
      return 0;
    }
    ans.push_back(s + 1);
    s += s + 1;
  }
  s++;
  s /= 2;
  s++;
  for (int i = (0); i < (a); ++i) {
    ans.push_back(s);
    s++;
  }
  while (ans.size() != n) ans.push_back(1);
  for (int i = (0); i < (ans.size()); ++i)
    printf("%d%c", ans[i], i == n - 1 ? '\n' : ' ');
  return 0;
}
