#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;
int tag[10001]={0};
bool isp(int n){
int i,half=sqrt(n*1.0)+1;
for(i=2;i<=half;i++)
if(n%i==0)
return false;
return true;
}
int main(){
int M,N;
scanf("%d %d",&M,&N);
int mm=M;
if(!isp(mm)){
while(!isp(mm+1))
mm=mm+1;
mm=mm+1;
}
int add,i;
scanf("%d",&add);
add=add%mm;
tag[add]=1;
cout<<add;
for(i=1;i<N;i++){
scanf("%d",&add);
add=add%mm;
int flag=0;
if(tag[add]==1){
for(int step=1;step<mm;step++){
int index=(add+step*step)%mm;
if(tag[index]==0){
cout<<" "<<index;
flag=1;
tag[index]=1;
break;
}
}
if(flag==0)
cout<<" -";
}
else{
tag[add]=1;
cout<<" "<<add;
}
}
system("pause");
return 0;
}