#ifndef POLI_H
#define POLI_H

#include <iostream>
#include <cstdlib>

using namespace std;

#include "Term.hpp"

class Poli {
	private:
		 Term* lid;
	public:
		Poli();
		Poli(const Poli& p);
		Poli(double co, int ex);
		~Poli(void);
		Term* Lid() const { return lid; };
		int Gr() const;
		Poli& operator += (Term t);
       Poli& operator -= (Term t);
       Poli& operator = (const Poli& p);
       ostream& Print(ostream& os) const;
};


Poli operator + (const Poli& p, const Poli& q);
Poli operator - (const Poli& p, const Poli& q);
Poli operator - (const Poli& q);
Poli operator * (const Poli& p, const Poli& q);
Poli operator / (const Poli& p, const Poli& q);
Poli operator % (const Poli& p, const Poli& q);

ostream& operator << (ostream& os, const Poli& p);
istream& operator >> (istream& is, Poli& p);

#endif


