#include<iostream>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
int n,m,a[10000];
while(cin>>n>>m)
{
if(n==0 && m==0) {cout<<"0 "<<"0"; break;}
int i,j;
for(i=0;i<n;i++) cin>>a[i];
if(m!=0 && m!=1)
{
for(i=n;i>1;i--)
for(j=0;j<i-1;j++)
if(a[j]%m>a[j+1]%m) swap(a[j],a[j+1]);
for(i=n;i>1;i--)
for(j=0;j<i-1;j++)
{
if(a[j]%m==a[j+1]%m && a[j]%2<a[j+1]%2)
swap(a[j],a[j+1]);
}
for(i=n;i>1;i--)
for(j=0;j<i-1;j++)
{
if(a[j]%m==a[j+1]%m)
if(a[j]%2==1 && a[j+1]%2==1 && a[j]<a[j+1])
swap(a[j],a[j+1]);
else if(a[j]%2==0 && a[j+1]%2==0 && a[j]>a[j+1])
swap(a[j],a[j+1]);
}
}
else
{
for(i=n;i>1;i--)
for(j=0;j<i-1;j++)
{
if(a[j]%2<a[j+1]%2)
swap(a[j],a[j+1]);
}
for(i=n;i>1;i--)
for(j=0;j<i-1;j++)
{
if(a[j]%2==1 && a[j+1]%2==1 && a[j]<a[j+1])
swap(a[j],a[j+1]);
else if(a[j]%2==0 && a[j+1]%2==0 && a[j]>a[j+1])
swap(a[j],a[j+1]);
}
}
cout<<n<<" "<<m<<"\n";
for(i=0;i<n;i++)
cout<<a[i]<<"\n";
}
}
TLE了,該怎麼改呢......