import java.util.*;
import java.io.*;

public class Split
{
	public static void main(String args[])
	{
		if(args.length!=2)
		{
			System.out.println("incorrect args\nshould be: watchlist directory_to_contain_files");
			return;
		}
		
		String watchlist=args[0], resultdir=args[1];
		
		if((new File(resultdir)).exists())
		{
			if(!(new File(resultdir)).isDirectory())
			{
				System.out.println("error:\ndirectory_to_contain_files is a file");
				return;
			}
		}
		else
		{
			(new File(resultdir)).mkdir();
		}
		
		String[] buffer={"",""};
		String infline="";
		try
		{
			Scanner inf=new Scanner(new File(watchlist));
			BufferedWriter ouf=null;
			String target="";
			
			while(inf.hasNext())
			{
				do
				{
					infline=inf.nextLine();
					buffer=infline.split("\t");
				}while((infline.indexOf("N")!=-1 || buffer.length!=2 || buffer[0].equalsIgnoreCase(buffer[1]))
					&& inf.hasNext());
				
				if((infline.indexOf("N")!=-1 || buffer.length!=2 || buffer[0].equalsIgnoreCase(buffer[1]))
					&& !inf.hasNext())
					break;
				
				if(!target.equalsIgnoreCase(buffer[0]))
				{
					if(ouf!=null) ouf.close();
					ouf=new BufferedWriter(
							new FileWriter(
								resultdir+"\\"+buffer[0],
								(new File(resultdir+"\\"+buffer[0])).exists()
							)
						);
				}
				ouf.write(buffer[1]+((char)(13))+((char)(10)));
				if(!(new File(resultdir+"\\"+buffer[1])).exists())
					(new BufferedWriter(new FileWriter(resultdir+"\\"+buffer[1]))).write(""); //touch file
			}
			ouf.close();
		}
		catch(IOException e)
		{
			System.out.println("error:\nwatchlist file IO error - "+buffer[0]);
		}
	}
}