// ---------- PREGUNTA1 ------------

// Archivo Conjunto.java

class CVacio extends Exception{}



class Conjunto{

	protected Nodo primero;		//representacion



	public Conjunto(){		//constructores

		primero=null;

	}

	public Conjunto(int x){

		primero=new Nodo(x,null);

	}

	public Conjunto(int x, int y){

		for(int i=y; i>=x; --i)

			primero=new Nodo(i, primero);

	}



	public int extraerMenor() throws CVacio{	//metodos

		if(primero==null)

			throw new CVacio();

		int m=primero.valor;

		primero=primero.sgte;

		return m;

	}

	public Conjunto union(Conjunto x){

		Nodo tmp=primero;

		while(tmp.sgte!=null)

			tmp=tmp.sgte;

		tmp.sgte=x.primero;

		Conjunto c=new Conjunto();

		c.primero=primero;

		return c;

	}

}



// ---------- PREGUNTA2 ------------

// Archivo Polinomio.java

class Polinomio{

	protected Nodo primero;



	public Polinomio(){

		primero=null;

	}



	public void agregarCoeficiente(int potencia, double coef){

                Nodo aux = primero;

                while (aux!=null){

                    if (aux.potencia == potencia) {

                        aux.coeficiente += coef;

                        return;

                    }

                    aux = aux.sgte;

                }

               primero = new Nodo(potencia, coef, primero); // incluye caso primero==null      

	}



	public double valor(double x){	//evalua polinomio en x

		double suma=0;

		Nodo actual=primero;

		while(actual!=null){

			suma+=(actual.coeficiente)*Math.pow(x,actual.potencia);

			actual=actual.sgte;

		}

		return suma;

	}

}