public boolean[] weighingWithStones(int[] stones, int index, int maxWeight) {
		/* We want to use index from 1 to maxWeight */
		boolean[] measurabilities = new boolean[maxWeight + 1];
		int currentStone = stones[index];
		
		if(index == 0) {
			measurabilities[currentStone] = true;
		} else {
			boolean[] subresult = weighingWithStones(stones, index - 1, maxWeight);
			
			for(int weight = 1; weight <= maxWeight; weight++) {
				if(subresult[weight]) {
					measurabilities[weight] = true;
					if(currentStone + weight <= maxWeight) {
						measurabilities[currentStone + weight] = true;
					}
					measurabilities[Math.abs(currentStone - weight)] = true;
				}
			}
			
			measurabilities[currentStone] = true;
		}
		
		return measurabilities;
	}