// 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/StrV.java
// public class StrV extends Value {
// 	
// 	public StrV(){	
// 		v = "";
// 	}
// 	
// 	public StrV(double d){	
// 		v = d+"";
// 	}
// 
// 	public StrV(String str){	
// 		v = str;
// 	}
// 	
// 	public String getValue(){
// 		return v;
// 	}
// 	
// 	@Override
// 	public boolean equals(Object arg0) {
// 		if(arg0 instanceof StrV)
// 			return this.v == ((StrV) arg0).v;
// 		else
// 			return false;
// 	}
// 	
// 	public boolean isNumber() {
// 		try {
// 			if ("".equals(v)) 
// 				return true;
// 			
// 			Double.parseDouble(v);
// 			return true;
// 		} catch(NumberFormatException e) {
// 			return false;
// 		}
// 	}
// 	
// 	public double parseDouble() {
// 		if ("".equals(v))
// 			return 0;
// 		else
// 			return Double.parseDouble(v);
// 	}
// 	
// 	@Override
// 	public double getNumber() {
// 		return parseDouble();
// 	}
// 	
// 	public String toString() {
// 		return v;
// 	}
// 	
// 	private String v;
// 
// }
// 
// 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 com.coducation.smallbasic.DoubleV;
import com.coducation.smallbasic.InterpretException;
import com.coducation.smallbasic.StrV;
import com.coducation.smallbasic.Value;

			if (args.get(1) instanceof DoubleV) {

				str_arg1 = args.get(1).toString();

			} else if (args.get(1) instanceof StrV) {

				str_arg1 = ((StrV) args.get(1)).getValue();

			} else {

				throw new InterpretException("GetIndexOf : Unexpected 2nd argument");

			}

		} else {

			throw new InterpretException("GetIndexOf : Unexpected # of args: " + args.size());
		
		}
			
		return new DoubleV(str_arg0.indexOf(str_arg1) + 1);
		
	}

	//Text.ConvertToLowerCase(text)
	//Converts the given text to lower case. 
	public static Value ConvertToLowerCase(ArrayList<Value> args) {
		
		String str_arg;


// 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/StrV.java
// public class StrV extends Value {
// 	
// 	public StrV(){	
// 		v = "";
// 	}
// 	
// 	public StrV(double d){	
// 		v = d+"";
// 	}
// 
// 	public StrV(String str){	
// 		v = str;
// 	}
// 	
// 	public String getValue(){
// 		return v;
// 	}
// 	
// 	@Override
// 	public boolean equals(Object arg0) {
// 		if(arg0 instanceof StrV)
// 			return this.v == ((StrV) arg0).v;
// 		else
// 			return false;
// 	}
// 	
// 	public boolean isNumber() {
// 		try {
// 			if ("".equals(v)) 
// 				return true;
// 			
// 			Double.parseDouble(v);
// 			return true;
// 		} catch(NumberFormatException e) {
// 			return false;
// 		}
// 	}
// 	
// 	public double parseDouble() {
// 		if ("".equals(v))
// 			return 0;
// 		else
// 			return Double.parseDouble(v);
// 	}
// 	
// 	@Override
// 	public double getNumber() {
// 		return parseDouble();
// 	}
// 	
// 	public String toString() {
// 		return v;
// 	}
// 	
// 	private String v;
// 
// }
// 
// 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/Text.java
import java.util.ArrayList;
import com.coducation.smallbasic.DoubleV;
import com.coducation.smallbasic.InterpretException;
import com.coducation.smallbasic.StrV;
import com.coducation.smallbasic.Value;

			if (args.get(1) instanceof DoubleV) {

				str_arg1 = args.get(1).toString();

			} else if (args.get(1) instanceof StrV) {

				str_arg1 = ((StrV) args.get(1)).getValue();

			} else {

				throw new InterpretException("GetIndexOf : Unexpected 2nd argument");

			}

		} else {

			throw new InterpretException("GetIndexOf : Unexpected # of args: " + args.size());
		
		}
			
		return new DoubleV(str_arg0.indexOf(str_arg1) + 1);
		
	}

	//Text.ConvertToLowerCase(text)
	//Converts the given text to lower case. 
	public static Value ConvertToLowerCase(ArrayList<Value> args) {
		
		String str_arg;


		if (args.size() == 1) {
