#include<iostream>
using namespace std;
class point
{
friend ostream& operator<<(ostream& cout, point p);
private:
int x;
public:
point() {
x = 2;
}
point(int a)
{
x = a;
}
point operator--(int)
{
point t;
t=*this;
x--;
return t;
}
point& operator--()
{
x--;
return *this;
}
};
ostream& operator<<(ostream& cout, point p)
{
cout << p.x << endl;
return cout;
}
int main()
{
point m;
cout << --m << endl;
cout << m-- << endl;
cout << m << endl;
}