public void initialPass(TapeDrive in, TapeDrive out1, TapeDrive out2) {
        // TODO: Implement me for 15 points!
    	for(int i = 0; i < this.tapeSize; i += this.memorySize*2) {
    		int size1 = memorySize > tapeSize-i ? tapeSize-i : memorySize;
    		for(int j = 0; j < size1; ++j) {
    			memory[j] = in.read();
    		}
    		this.quicksort(size1);
    		for(int j = 0; j < size1; ++j) {
    			out1.write(memory[j]);
    		}
    		int size2 = memorySize > tapeSize-i-size1 ? tapeSize-i-size1 : memorySize;
    		for(int j = 0; j < size2; ++j) {
    			memory[j] = in.read();
    		}
    		this.quicksort(size2);
    		for(int j = 0; j < size2; ++j) {
    			out2.write(memory[j]);
    		}
    	}
    	in.reset();
    	out1.reset();
    	out2.reset();
    }