#include<bits/stdc++.h>
using namespace std;
int fx[]={-2,-1,1,2};
int fy[]={1,2,2,1};
int a,b;
int k[10001];
bool f=false;
bool vis[10001][10001];
void dfs(int x,int y,int step,int fangwei){
if(vis[x][y]) return;
if(x<1||y<1||x>a||y>b) return;
if(fangwei) k[step]=fangwei;
vis[x][y]=1;
if(x==a&&y==b){
if(!f) for(int i=2;i<=step;i++) cout << k[i] << " ";
f=true;
return;
}
for(int i=0;i<4;i++){
dfs(x+fx[i],y+fy[i],step+1,i+1);
}
vis[x][y]=0;
return;
}
int main(){
cin >> a >> b;
dfs(1,1,1,0);
if(!f) cout << -1;
return 0;
}