#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;
}