#include <iostream>
#include <iomanip>
#include <algorithm>
#include <vector>
template <typename T>
int sign (const T &val) { return (val > 0) - (val < 0); }
template <typename T>
std::vector<int> sign (const std::vector<T> &v) {
std::vector<int> r(v.size());
std::transform(v.begin(), v.end(), r.begin(), (int(*)(const T&))sign);
return r;
}
int main ()
{
std::vector<short> values;
std::vector<int> signs;
for (int i = -5; i < 6; ++i)
values.push_back(i);
signs = sign(values);
for (unsigned i = 0; i < values.size(); ++i) {
std::cout << std::setw(2) << values[i] << ' ' << signs[i] << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHZlY3Rvcj4KIAp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KaW50IHNpZ24gKGNvbnN0IFQgJnZhbCkgeyByZXR1cm4gKHZhbCA+IDApIC0gKHZhbCA8IDApOyB9CiAKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnN0ZDo6dmVjdG9yPGludD4gc2lnbiAoY29uc3Qgc3RkOjp2ZWN0b3I8VD4gJnYpIHsKICAgIHN0ZDo6dmVjdG9yPGludD4gcih2LnNpemUoKSk7CiAgICBzdGQ6OnRyYW5zZm9ybSh2LmJlZ2luKCksIHYuZW5kKCksIHIuYmVnaW4oKSwgKGludCgqKShjb25zdCBUJikpc2lnbik7CiAgICByZXR1cm4gcjsKfQogCmludCBtYWluICgpCnsKICAgIHN0ZDo6dmVjdG9yPHNob3J0PiB2YWx1ZXM7CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IHNpZ25zOwogICAgZm9yIChpbnQgaSA9IC01OyBpIDwgNjsgKytpKQogICAgICAgIHZhbHVlcy5wdXNoX2JhY2soaSk7CiAgICBzaWducyA9IHNpZ24odmFsdWVzKTsKICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB2YWx1ZXMuc2l6ZSgpOyArK2kpIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgc3RkOjpzZXR3KDIpIDw8IHZhbHVlc1tpXSA8PCAnICcgPDwgc2lnbnNbaV0gPDwgc3RkOjplbmRsOwogICAgfQogICAgcmV0dXJuIDA7Cn0=