public static void main(String[] args) throws InterruptedException
	{
		requestedReducerThreads = 0;
		requestedMapperThreads = 0;

		try
		{
			requestedReducerThreads = Integer.parseInt(args[0]);
			
			//Instantiate Arrays
			buffers = new BBMonitor[requestedReducerThreads];
			fileNames = new String[args.length-1];
			fileArray = new File[args.length-1];
			
			//Load Files into file array
			for(int counter = 1; counter < args.length; counter++)
			{
				fileArray[counter-1] = new File(args[counter]);
				fileNames[counter-1] = args[counter];
				requestedMapperThreads++;
			}
			
		
			
			//Initiate Buffers
			for(int i = 0 ; i < requestedReducerThreads; i++){
				buffers[i] = new BBMonitor();
			}
			
			//Instantiate thread holders
			mapperThreadHolder = new mapperThread[requestedMapperThreads];
			mappersActive = requestedMapperThreads;
			reducerThreadHolder = new reducerThread[requestedReducerThreads];
			
			
			createMapThreads(requestedMapperThreads);
			createReducerThreads(requestedReducerThreads);
			isDone(requestedMapperThreads, requestedReducerThreads);
			printMap();
		
		}
		catch(ArrayIndexOutOfBoundsException e)
		{
			System.out.println("The parameters passed were not of the form");
			System.out.println("Index [n] [file1] [file2] ... [filek]");
			System.out.println("Please re-run the program and try again");
		}
	}