#include <iostream>
using namespace std;

struct Point
{
	Point(int x, int y);
};

class Shape  {	// deals with color and style, and holds sequence of lines
protected:
	Shape() { }
	Shape(initializer_list<Point> lst);  // add() the Points to this Shape
	
	void add(Point p);
};

struct Open_polyline : Shape {   // open sequence of lines
    using Shape::Shape;          // use Shape’s constructors (§A.16)
    void add(Point p) { Shape::add(p); }
};

Open_polyline opl = {
        Point{100,100}, Point{150,200}, Point{250,250}, Point{300,200}
    };

int main() {
	// your code goes here
	return 0;
}