* @param var2		The second list
	 * @return result	The sum of var1 and var2
	 */
	static LinkedList<Integer> add(LinkedList<Integer>var1, LinkedList<Integer>var2){

		LinkedList<Integer> result = new LinkedList<Integer>(); //The sum of var1 and var2

		Iterator<Integer> itr1 = var1.iterator();

		Iterator<Integer> itr2 = var2.iterator();

		int carrier = 0; // The carrier for a given digit in add operation

		// Add var1 and var2 digit by digit, from LSD to MSD
		while((itr1.hasNext())&&(itr2.hasNext())){
			int x = itr1.next().intValue();	// The integer value of a digit in var1
			int y = itr2.next().intValue(); // The integer value of a digit in var2
			int sum = x + y + carrier; // The sum of the two digits plus carrier
			if(sum >= BASE) { // If the sum is greater than BASE, set the carrier for the next digit as 1
				sum = sum - BASE; 
				carrier = 1;   
			} else { // Otherwise, set the carrier for the next digit as 0
				carrier = 0; 
			}
			result.add(sum); // append one digit to the result
		}

		// If var1 has more digits than var2, append the overflowing digits to result
		while(itr1.hasNext()){
			int x = itr1.next().intValue(); // The integer value of a digit in var1
			int sum = x + carrier; // The sum of the digit of var1 and carrier
			if(sum >= BASE){ // If the sum is greater than BASE, set the carrier for the next digit as 1
				sum = sum -BASE;
				carrier = 1;  
			} else{ // Otherwise, set the carrier for the next digit as 0
				carrier = 0; 
			}
			result.add(sum); // append one digit to the result
		}
		
		// If var2 has more digits than var1, append the overflowing digits to result
		while(itr2.hasNext()){
			int y = itr2.next().intValue(); // The integer value of a digit in var2
			int sum = y + carrier; // The sum of the digit of var2 and carrier
			if(sum >= BASE){ // If the sum is greater than BASE, set the carrier for the next digit as 1
				sum = sum -BASE;
				carrier = 1; 
			} else{ // Otherwise, set the carrier for the next digit as 0
				carrier = 0; 
			}
			result.add(sum);// append one digit to the result
		}

		// If there is an overflowing digit, append it to the result
		if(carrier > 0) result.add(carrier); 

		return result;
	}