#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const double EPS = 1e-9;
const long long BIG_PRIME7 = 1000000007;
const long long BIG_PRIME9 = 1000000009;
int gcd(int x, int y) { return y ? gcd(y, x % y) : x; }
char ch;
int i, j, n, m, k;
int N, C;
int a, b;
int g[1000];
int sum = 0;
int aha, ogo, maxi;
int main() {
  cin >> n >> a >> b;
  g[1] = 1;
  sum++;
  maxi = 1;
  for (i = 2; i <= b + 1; i++) {
    if (sum + 1 > 50000) {
      cout << "-1" << endl;
      return 0;
    }
    g[i] = sum + 1;
    sum += g[i];
  }
  if (b == 0) {
    if (a == 0) {
      g[2] = 1;
      maxi = 1;
    } else {
      g[2] = 1;
      b++;
      maxi = 2;
      if (a == n - 1) {
        cout << "-1" << endl;
        return 0;
      }
    }
  } else {
    maxi = g[b + 1] + 1;
  }
  for (i = b + 2; i <= b + a + 1; i++) {
    if (maxi > 50000) {
      cout << "-1" << endl;
      return 0;
    }
    g[i] = maxi;
    maxi++;
  }
  for (i = b + a + 2; i <= n; i++) {
    g[i] = 1;
  }
  for (i = 1; i <= n; i++) {
    cout << g[i];
    if (n > i) cout << " ";
  }
  cout << endl;
  return 0;
}
