#include <iostream>
#include <algorithm>
#include <vector>
#include <utility>
using namespace std;
bool sortPair (pair < int , int > &x , pair < int , int > &y)
{
if ( x.second % 2 == 0 && y.second % 2 == 0 && x.first == y.first )
{
if ( x.second > y.second )
{
return y.second < x.second ;
}
else
{
return x.second < y.second ;
}
}
if ( x.second % 2 != 0 && y.second != 0 && x.first == y.first )
{
if( x.second > y.second )
{
return y.second < x.second ;
}
else
{
return x.second < y.second ;
}
}
if ( x.second % 2 == 0 && y.second != 0 && x.first == y.first )
{
return y.second < x.second ;
}
if ( x.second % 2 != 0 && y.second == 0 && x.first == y.first)
{
return x.second < y.second ;
}
}
int main()
{
int t = 1;
while ( t -- )
{
int n , m , x;
cin>> n >> m ;
vector < pair < int , int > > u ;
for ( int i=0 ; i<n ; i++)
{
u.push_back(make_pair(x%m,x));
}
for ( int i=0 ; i<n ; i++)
{
sort(u.begin(),u.end(),sortPair(u.at(i),u.at(i+1)));
}
cout<<endl;
cout<<n<<" "<<m<<endl;
for (auto& e : u)
{
cout << e.first << "\n";
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dXRpbGl0eT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmJvb2wgc29ydFBhaXIgKHBhaXIgPCBpbnQgLCBpbnQgPiAmeCAsIHBhaXIgPCBpbnQgLCBpbnQgPiAmeSkKewogICAgaWYgKCB4LnNlY29uZCAlIDIgPT0gMCAmJiB5LnNlY29uZCAlIDIgPT0gMCAmJiB4LmZpcnN0ID09IHkuZmlyc3QgKQogICAgewogICAgICAgIGlmICggeC5zZWNvbmQgPiB5LnNlY29uZCApCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4geS5zZWNvbmQgPCB4LnNlY29uZCA7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiB4LnNlY29uZCA8IHkuc2Vjb25kIDsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCB4LnNlY29uZCAlIDIgIT0gMCAmJiB5LnNlY29uZCAhPSAwICYmIHguZmlyc3QgPT0geS5maXJzdCApCiAgICB7CiAgICAgICAgaWYoIHguc2Vjb25kID4geS5zZWNvbmQgKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIHkuc2Vjb25kIDwgeC5zZWNvbmQgOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4geC5zZWNvbmQgPCB5LnNlY29uZCA7CiAgICAgICAgfQogICAgfQoKICAgIGlmICggeC5zZWNvbmQgJSAyID09IDAgJiYgeS5zZWNvbmQgIT0gMCAmJiB4LmZpcnN0ID09IHkuZmlyc3QgKQogICAgewogICAgICAgIHJldHVybiB5LnNlY29uZCA8IHguc2Vjb25kIDsKICAgIH0KCiAgICBpZiAoIHguc2Vjb25kICUgMiAhPSAwICYmIHkuc2Vjb25kID09IDAgJiYgeC5maXJzdCA9PSB5LmZpcnN0KQogICAgewogICAgICAgIHJldHVybiB4LnNlY29uZCA8IHkuc2Vjb25kIDsKICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBpbnQgdCA9IDE7CiAgICB3aGlsZSAoIHQgLS0gKQogICAgewogICAgICAgIGludCBuICwgbSAsIHg7CiAgICAgICAgY2luPj4gbiA+PiBtIDsKICAgICAgICB2ZWN0b3IgPCBwYWlyIDwgaW50ICwgaW50ID4gPiB1IDsKCiAgICAgICAgZm9yICggaW50IGk9MCA7IGk8biA7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIHUucHVzaF9iYWNrKG1ha2VfcGFpcih4JW0seCkpOwoKICAgICAgICB9CgogICAgICAgIGZvciAoIGludCBpPTAgOyBpPG4gOyBpKyspCiAgICAgICAgewoKICAgICAgICAgICAgc29ydCh1LmJlZ2luKCksdS5lbmQoKSxzb3J0UGFpcih1LmF0KGkpLHUuYXQoaSsxKSkpOwoKICAgICAgICB9CgogICAgICAgIGNvdXQ8PGVuZGw7CiAgICAgICAgY291dDw8bjw8IiAiPDxtPDxlbmRsOwoKICAgICAgICBmb3IgKGF1dG8mIGUgOiB1KQogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCBlLmZpcnN0IDw8ICJcbiI7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAwOwp9Cg==
In file included from /usr/include/c++/5/bits/stl_algobase.h:71:0,
from /usr/include/c++/5/bits/char_traits.h:39,
from /usr/include/c++/5/ios:40,
from /usr/include/c++/5/ostream:38,
from /usr/include/c++/5/iostream:39,
from prog.cpp:1:
/usr/include/c++/5/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Iterator2 = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = bool]':
/usr/include/c++/5/bits/stl_algo.h:1842:14: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool>]'
/usr/include/c++/5/bits/stl_algo.h:1880:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool>]'
/usr/include/c++/5/bits/stl_algo.h:1966:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool>]'
/usr/include/c++/5/bits/stl_algo.h:4729:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = bool]'
prog.cpp:62:63: required from here
/usr/include/c++/5/bits/predefined_ops.h:123:46: error: expression cannot be used as a function
{ return bool(_M_comp(*__it1, *__it2)); }
^
/usr/include/c++/5/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Value = std::pair<int, int>; _Compare = bool]':
/usr/include/c++/5/bits/stl_heap.h:129:48: required from 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Distance = int; _Tp = std::pair<int, int>; _Compare = __gnu_cxx::__ops::_Iter_comp_val<bool>]'
/usr/include/c++/5/bits/stl_heap.h:228:23: required from 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Distance = int; _Tp = std::pair<int, int>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool>]'
/usr/include/c++/5/bits/stl_heap.h:333:22: required from 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool>]'
/usr/include/c++/5/bits/stl_algo.h:1669:23: required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool>]'
/usr/include/c++/5/bits/stl_algo.h:1928:25: required from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool>]'
/usr/include/c++/5/bits/stl_algo.h:1943:27: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool>]'
/usr/include/c++/5/bits/stl_algo.h:1963:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool>]'
/usr/include/c++/5/bits/stl_algo.h:4729:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = bool]'
prog.cpp:62:63: required from here
/usr/include/c++/5/bits/predefined_ops.h:144:37: error: expression cannot be used as a function
{ return bool(_M_comp(*__it, __val)); }
^