#include <bits/stdc++.h>
using namespace std;
long long ar[1000001] = {};
long long n, a, b;
void shift(long long l, long long r) {
  for (long long f = (long long)(l); f <= (long long)(r - 1); ++f) {
    swap(ar[f], ar[f + 1]);
  }
}
void Do(long long x, long long y) {
  long i = 0;
  for (long long f = (long long)(1); f <= (long long)(x); ++f) {
    shift(i, i + a - 1);
    i += a;
  }
  for (long long f = (long long)(1); f <= (long long)(y); ++f) {
    shift(i, i + b - 1);
    i += b;
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cout << fixed << setprecision(15);
  cin >> n >> a >> b;
  for (long long f = (long long)(0); f <= (long long)(n - 1); ++f) {
    ar[f] = f + 1;
  }
  for (long long f = (long long)(0); f <= (long long)(1000000); ++f) {
    long long tmp = round((n - a * f) / b);
    if (tmp * b + f * a == n && tmp >= 0) {
      Do(f, tmp);
      for (long long f = (long long)(0); f <= (long long)(n - 1); ++f) {
        cout << ar[f] << ' ';
      }
      return 0;
    }
  }
  cout << -1;
  return 0;
}
