#include <iostream>
using namespace std;

class Interval
{
      double begin, end;
      bool left, right;
      bool empty;
public:
       Interval(int b = 0, int e = 0, bool l = false, bool r = false)
};

Interval:: Interval(int b, int e, bool l, bool r) : begin(b), end(e), left(l), right(r), empty(false)
           {
           if ((b == e) && (l = r) && l )  empty = true; 
           }

class IntervalSet 
{
private:
       Interval *mass;
       int length;
public:
       Intervalset operator+=(const Interval &a);
       Intervalset operator+=(double a);
       
};

Intervalset:: Interval operator=(const Interval &a)
public:
       {
       begin = a.begin;
       end = a.end;
       left = a.left;
       right = a.right;
       empty = a.empty;
       }

Intervalset:: Intervalset operator+(const Interval &a)
public:
       {
       int lev, pr, i;
       Intervalset t;
       
       if ((a.begin <= mass[length - 1].end) || (a.end >= mass[0].begin))
          {
          for(i = 0; (a.begin >= mass[i].begin); i++);
          lev = --i;
          for(i = 0; (a.end >= mass[i].end); i++);
          pr = i;
          }
       else
           {
           t = new Interval[++length];
           if (a.begin > mass[length - 1].end) 
              {
              t[length - 1]= a;
              for(i = 0; i < length - 1; i++) t[i]=mass[i];
              }
           else
               {
               t[0]= a;
               for(i = 1; i < length; i++) t[i]=mass[i - 1];
               }
           delete [] mass;
           mass = t;
           }
       }

Intervalset:: Intervalset& operator+=(const Interval &a)
public:
       {
       Interval temp;
       
       
       }