#include <iostream>
#include <cmath>

using namespace std;

struct Point
{
    int x, y;
    Point() { x = y = 0; }
    Point(int nx, int ny) { x = nx; y = ny; }
    Point(int nx)
    {
        x = nx; y = 0;
        cerr << "Point " << nx << " " << 0 << "\n";
    }
};

struct Segment
{
    Point a, b;
    Segment(Point na, Point nb)
    {
        a = na; b = nb;
        cerr << "Segment " << na.x << " " << na.y << " " << nb.x << " " << nb.y << "\n";
    }
};

int main()
{
    int i = 5, j = 8;
    Segment seg = Segment(Point(i), Point(j));
	return 0;
}
