#include <list>
#include <algorithm>
#include <iostream>
#include <iterator>
int main()
{
std::list<int> data = {1,2,5,10,15,16,20};
std::unique_copy(data.begin(), data.end(),
std::ostream_iterator<int>(std::cout, " "),
[](int n, int m){return abs(n-m)<=1;});
std::cout << '\n';
}
I2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGl0ZXJhdG9yPgppbnQgbWFpbigpCnsKICAgIHN0ZDo6bGlzdDxpbnQ+IGRhdGEgPSB7MSwyLDUsMTAsMTUsMTYsMjB9OwogICAgc3RkOjp1bmlxdWVfY29weShkYXRhLmJlZ2luKCksIGRhdGEuZW5kKCksCiAgICAgICAgICAgICAgICAgICAgc3RkOjpvc3RyZWFtX2l0ZXJhdG9yPGludD4oc3RkOjpjb3V0LCAiICIpLAogICAgICAgICAgICAgICAgICAgIFtdKGludCBuLCBpbnQgbSl7cmV0dXJuIGFicyhuLW0pPD0xO30pOwogICAgc3RkOjpjb3V0IDw8ICdcbic7Cn0=