Exun-DIV-3 (CIRCLEGAME)

I am really not able to understand where my code is failing.

#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t–){
int m,n;
cin>>m>>n;
if(m==1){
for(int i=1;i<=n;i++){
cout<<n<<" “;
}
cout<<endl;
}
else if(m==2){
for(int i=1;i<=n;i++){
cout<<1<<” “;
}
cout<<endl;
}
else if(m%2!=0){
for(int i=1;i<=n;i++){
if(i<=m-1){
cout<<i<<” “;
}
else{
cout<<m-1<<” “;
}
}
cout<<endl;
}
else{
for(int i=1;i<=n;i++){
if(i<=m-2){
cout<<1<<” “;
}
else{
cout<<2<<” ";
}
}
cout<<endl;
}
}
return 0;
}

Dry Run for m=10 and n=12,
Acc to your code Output is 1 1 1 1 1 1 1 1 2 2 2 2
but correct output is 1 1 2 3 3 3 4 5 6 6 6 6