private ArrayList<TypeEfficacy> calculateMultiMathcup(ArrayList<TypeEfficacy> input)
	{
		ArrayList<TypeEfficacy> output = new ArrayList<TypeEfficacy>();
		for (int i = 0; i < input.size(); i++)
		{
			boolean foundMatch = false;
			for (int j = i + 1; j < input.size(); j++)
			{
				//if element i.type() == j.type()
				if (input.get(i).getType().getType1().equals(input.get(j).getType().getType1()))
				{
					//add TypeEfficacy which is named same and is product of the two
					output.add(new TypeEfficacy(input.get(i).getType().getType1(), input.get(i).getEfficacy() * input.get(j).getEfficacy()));
					foundMatch = true;
				}
			}
			if(!foundMatch)
			{
				output.add(input.get(i));
			}
		}
		
		// Empties out half if we have a double sized list because of the double type
		if(type2 == null)
		{
			return output;
		}
		else
		{
			int preferableSize = output.size()/2;
			while (output.size() > preferableSize)
			{
				output.remove(output.size()-1);
			}
			return output;
		}
	}