public String addHelp(String n1, String n2) {
		if(n1.length() == 0 && n2.length() == 0) {
			return new String(new CharNode('0'));
		}
		if(n1.length() == 1) {
			int one = n1.charAt(0) - 48;
			int two = n2.charAt(0) - 48;
			String toReturn = new String(new CharNode((char)((one + two)%10 + 48)));
			toReturn.insert(new String(new CharNode((char)((one + two)/10 + 48))), 0);
			return toReturn;
		}
//		Out o = new Out(System.out);
//		o.println(n1.substring(1, n1.length()));
//		o.println(n2.substring(1, n2.length()));
		
		
		
		int one = (n1.length() >= 1 ? n1.charAt(0) - 48 : 0);
		int two = (n2.length() >= 1 ? n2.charAt(0) - 48 : 0);
		String n3 = addHelp(n1.substring(1, n1.length()), n2.substring(1, n2.length()));
		//o.println(n1.substring(0, n1.length()));

		int three = (n3.charAt(0) == '.' ? 1 : n3.charAt(0) - 48);
		int result = one + two + three;
		n3.set((char)((result % 10) + 48), 0);
		CharNode toInsert = new CharNode((result/10 == 1 ? '.' : '0'));
		n3.insert(new String(toInsert), 0);
		return n3;
		
	}