#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <string>
using namespace std;
int n,A,B;
int ans[1000005];
int gcd(int x,int y)
{
if(y==0)
return x;
else
return gcd(y,x%y);
}
long long exgcd(int a,int b,long long& x,long long& y)
{
if(b==0)
{
x=1;y=0;
return a;
} else
{
int r=exgcd(b,a%b,y,x);
y-=x*(a/b);
return r;
}
}
void f(int sta,int s)
{
if(s==1)
ans[sta]=sta;
else
{
for(int i=0;i<s-1;i++)
{
ans[sta+i]=sta+i+1;
}
ans[sta+s-1]=sta;
}
}
int main() {
while(~scanf("%d%d%d",&n,&A,&B))
{
int g=gcd(A,B);
if(n%g!=0)
{
printf("-1\n");
} else
{
int d=n/g;
long long x,y;
exgcd(A,B,x,y);
x*=d;
int t=B/g;
x=(x%t+t)%t;
y=(n-A*x)/B;
//cout<<x<<" "<<y<<endl;
if(y<0)
{
printf("-1\n");
continue;
}
int sta=1;
for(int i=0;i<x;i++)
{
f(sta,A);
sta+=A;
}
for(int i=0;i<y;i++)
{
f(sta,B);
sta+=B;
}
for(int i=1;i<=n;i++)
{
printf("%d ",ans[i]);
}
printf("\n");
}
}
return 0;
}