#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, a, b, curSum = 1, max = 1;
  cin >> n >> a >> b;
  if (b == 0 && a + 1 == n) {
    if (n != 1)
      cout << -1;
    else
      cout << 1;
    return 0;
  }
  vector<int> res;
  bool aa = false;
  if (b == 0) {
    res.push_back(1);
    curSum++;
    aa = true;
  }
  res.push_back(1);
  for (int i = 0; i < b; i++) {
    if (curSum + 1 > 50000) {
      cout << -1;
      return 0;
    }
    res.push_back(curSum + 1);
    max = ((max < curSum + 1) ? (curSum + 1) : (max));
    curSum *= 2;
    curSum++;
  }
  for (int i = 0; i < a; i++) {
    if (max + 1 > 50000) {
      cout << -1;
      return 0;
    }
    res.push_back(max + 1);
    curSum += max + 1;
    max++;
  }
  for (int i = 0; i < n - a - b - 1 - aa; i++) {
    res.push_back(res[res.size() - 1]);
    curSum++;
  }
  for (int i = 0; i < res.size(); i++) cout << res[i] << " ";
}
