// Path: MySmallBasic/src/com/coducation/smallbasic/DoubleV.java
// public class DoubleV extends Value {
// 	
// 	public DoubleV(double value) {
// 		this.value = value;
// 	}
// 	
// 	public void setValue(double value) {
// 		this.value = value;
// 	}
// 	
// 	public double getValue() {
// 		return value;
// 	}
// 	
// 	@Override
// 	public double getNumber() {
// 		return value;
// 	}
// 	
// 	@Override
// 	public boolean equals(Object arg0) {
// 		if(arg0 instanceof DoubleV)
// 			return this.value == ((DoubleV) arg0).value;
// 		else
// 			return false;
// 	}
// 	
// 	public String toString() {
// 		int i = (int) value;
// 		if(i == value)
// 			return i + "";
// 		else
// 			return value + "";
// 	}
// 	
// 	private double value;
// }
// 
// Path: MySmallBasic/src/com/coducation/smallbasic/InterpretException.java
// public class InterpretException extends RuntimeException {
// 	public InterpretException(String message) {
// 		this(message, "", -1, -1);
// 	}
// 	public InterpretException(String message, boolean programend) {
// 		this(message, programend, "", -1, -1);
// 	}
// 	public InterpretException(String message, String culprit, int linenum, int colnum) {
// 		this.message = message;
// 		this.linenum = linenum;
// 		this.colnum = colnum;
// 		this.culprit = culprit;
// 		this.ProgramEnd = false;
// 	}
// 	public InterpretException(String message, boolean programend, String culprit, int linenum, int colnum) {
// 		this.message = message;
// 		this.linenum = linenum;
// 		this.colnum = colnum;
// 		this.culprit = culprit;
// 		this.ProgramEnd = programend;
// 	}
// 	
// 	public String getMessage() {
// 		return message;
// 	}
// 	public int getLinenum() {
// 		return linenum;
// 	}
// 	public int getColnum() {
// 		return colnum;
// 	}
// 	public String getCulprit() {
// 		return culprit;
// 	}
// 	
// 	public boolean getProgramEnd() {
// 		return ProgramEnd;
// 	}
// 	
// 	private String message;
// 	private int linenum;
// 	private int colnum;
// 	private String culprit;
// 	private boolean ProgramEnd;
// }
// 
// Path: MySmallBasic/src/com/coducation/smallbasic/Value.java
// public abstract class Value {
// 	public abstract String toString();
// 	// TODO : 비우는게 맞나..?
// 	
// 	public abstract double getNumber();
// }


import java.util.ArrayList;
import java.util.HashMap;
import com.coducation.smallbasic.DoubleV;
import com.coducation.smallbasic.InterpretException;
import com.coducation.smallbasic.Value;

				stacks.put(stackName, new java.util.Stack<Value>());
				stack = stacks.get(stackName);
			}
				
			//push
			stack.push(value);
				
			//return nothing
			return null;
		} 
		else 		
			throw new InterpretException("Error in # of Arguments: " + args.size());
	}
	
	//Stack.GetCount(stackName)
	//return number of items in stack
	public static Value GetCount(ArrayList<Value> args) 
	{	
		//check args_number
		if (args.size() == 1) 
		{
			//parameter
			String stackName = args.get(0).toString();	//arg1
			
			java.util.Stack<Value> stack = stacks.get(stackName);
				
			//if stackName is not in stacks..
			if (stack==null) 
			{
				// not make new stack with name. just return 0

// Path: MySmallBasic/src/com/coducation/smallbasic/DoubleV.java
// public class DoubleV extends Value {
// 	
// 	public DoubleV(double value) {
// 		this.value = value;
// 	}
// 	
// 	public void setValue(double value) {
// 		this.value = value;
// 	}
// 	
// 	public double getValue() {
// 		return value;
// 	}
// 	
// 	@Override
// 	public double getNumber() {
// 		return value;
// 	}
// 	
// 	@Override
// 	public boolean equals(Object arg0) {
// 		if(arg0 instanceof DoubleV)
// 			return this.value == ((DoubleV) arg0).value;
// 		else
// 			return false;
// 	}
// 	
// 	public String toString() {
// 		int i = (int) value;
// 		if(i == value)
// 			return i + "";
// 		else
// 			return value + "";
// 	}
// 	
// 	private double value;
// }
// 
// Path: MySmallBasic/src/com/coducation/smallbasic/InterpretException.java
// public class InterpretException extends RuntimeException {
// 	public InterpretException(String message) {
// 		this(message, "", -1, -1);
// 	}
// 	public InterpretException(String message, boolean programend) {
// 		this(message, programend, "", -1, -1);
// 	}
// 	public InterpretException(String message, String culprit, int linenum, int colnum) {
// 		this.message = message;
// 		this.linenum = linenum;
// 		this.colnum = colnum;
// 		this.culprit = culprit;
// 		this.ProgramEnd = false;
// 	}
// 	public InterpretException(String message, boolean programend, String culprit, int linenum, int colnum) {
// 		this.message = message;
// 		this.linenum = linenum;
// 		this.colnum = colnum;
// 		this.culprit = culprit;
// 		this.ProgramEnd = programend;
// 	}
// 	
// 	public String getMessage() {
// 		return message;
// 	}
// 	public int getLinenum() {
// 		return linenum;
// 	}
// 	public int getColnum() {
// 		return colnum;
// 	}
// 	public String getCulprit() {
// 		return culprit;
// 	}
// 	
// 	public boolean getProgramEnd() {
// 		return ProgramEnd;
// 	}
// 	
// 	private String message;
// 	private int linenum;
// 	private int colnum;
// 	private String culprit;
// 	private boolean ProgramEnd;
// }
// 
// Path: MySmallBasic/src/com/coducation/smallbasic/Value.java
// public abstract class Value {
// 	public abstract String toString();
// 	// TODO : 비우는게 맞나..?
// 	
// 	public abstract double getNumber();
// }


// Path: MySmallBasic/src/com/coducation/smallbasic/lib/Stack.java
import java.util.ArrayList;
import java.util.HashMap;
import com.coducation.smallbasic.DoubleV;
import com.coducation.smallbasic.InterpretException;
import com.coducation.smallbasic.Value;

				stacks.put(stackName, new java.util.Stack<Value>());
				stack = stacks.get(stackName);
			}
				
			//push
			stack.push(value);
				
			//return nothing
			return null;
		} 
		else 		
			throw new InterpretException("Error in # of Arguments: " + args.size());
	}
	
	//Stack.GetCount(stackName)
	//return number of items in stack
	public static Value GetCount(ArrayList<Value> args) 
	{	
		//check args_number
		if (args.size() == 1) 
		{
			//parameter
			String stackName = args.get(0).toString();	//arg1
			
			java.util.Stack<Value> stack = stacks.get(stackName);
				
			//if stackName is not in stacks..
			if (stack==null) 
			{
				// not make new stack with name. just return 0

				return new DoubleV(0);
