#include <bits/stdc++.h>
#pragma GCC optimize("O2")
using namespace std;
const int MAX = 1e6 + 5;
const long long MAX2 = 11;
const long long MOD = 1000003579;
const long long INF = 1e18;
const int dr[] = {1, 0, -1, 0, 1, 1, -1, -1, 0};
const int dc[] = {0, 1, 0, -1, 1, -1, 1, -1, 0};
const double pi = acos(-1);
const double EPS = 1e-9;
const int block = 450;
int n, a, b, x;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> a >> b;
  if (n == a + 1 && n != 1) return cout << "-1\n", 0;
  x = 1;
  cout << "1 ";
  n -= a + b + 1;
  if (!b) {
    while (n--) cout << x << ' ';
    while (a--) x++, cout << x << ' ';
    return 0;
  }
  while (b--) x *= 2, cout << x << ' ';
  while (a--) x++, cout << x << ' ';
  while (n--) cout << x << ' ';
  return 0;
}
