// Path: src/main/java/edu/harvard/econcs/jopt/solver/MIPException.java
// public class MIPException extends RuntimeException {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 3257289123487103030L;
// 
// 	public MIPException(String msg) {
// 		super(msg);
// 	}
// 	
// 	public MIPException(String msg, Throwable arg1) {
// 		super(msg, arg1);
// 	}
// }


import java.io.Serializable;
import edu.harvard.econcs.jopt.solver.MIPException;
	
	/**
	 * @return Returns the coefficient.
	 */
	public double getCoefficient() {
		return coefficient;
	}

	public String getVarNameA() {
		return varNameA;
	}

	public String getVarNameB() {
		return varNameB;
	}

	public String toString() {
		//return coefficient +"*V" + varName;
	    return coefficient +"*" + varNameA + "*" + varNameB;
	}
	
	public Object clone() throws CloneNotSupportedException {
		QuadraticTerm ret = (QuadraticTerm)super.clone();
		return ret;
	}
	
	public QuadraticTerm typedClone() {
		try {
			return (QuadraticTerm)clone();
		} catch (CloneNotSupportedException e) {
// Path: src/main/java/edu/harvard/econcs/jopt/solver/MIPException.java
// public class MIPException extends RuntimeException {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 3257289123487103030L;
// 
// 	public MIPException(String msg) {
// 		super(msg);
// 	}
// 	
// 	public MIPException(String msg, Throwable arg1) {
// 		super(msg, arg1);
// 	}
// }


// Path: src/main/java/edu/harvard/econcs/jopt/solver/mip/QuadraticTerm.java
import java.io.Serializable;
import edu.harvard.econcs.jopt.solver.MIPException;

	
	/**
	 * @return Returns the coefficient.
	 */
	public double getCoefficient() {
		return coefficient;
	}

	public String getVarNameA() {
		return varNameA;
	}

	public String getVarNameB() {
		return varNameB;
	}

	public String toString() {
		//return coefficient +"*V" + varName;
	    return coefficient +"*" + varNameA + "*" + varNameB;
	}
	
	public Object clone() throws CloneNotSupportedException {
		QuadraticTerm ret = (QuadraticTerm)super.clone();
		return ret;
	}
	
	public QuadraticTerm typedClone() {
		try {
			return (QuadraticTerm)clone();
		} catch (CloneNotSupportedException e) {
			throw new MIPException("Problem in clone", e);