public static void main(String args[]) {
		
		try { //RXgN^IȂƂ͐ɂōsB
			if (args.length >= 1) {
				infroot = args[0];
				if (args.length >= 2) {
					clusterMax = Integer.parseInt(args[1]);
					if (args.length >= 3) {
						maxIter = Integer.parseInt(args[2]);
					}
				}
			}
		} catch (Exception e) {
			System.out.println("Usage: matz.EM[ <ROOT_DIR>[ <#_OF_CLUSTER>[ <#_OF_ITERATION>]]]");
			System.out.println("Note: Arguments must follow the order above.");
			e.printStackTrace();
			return;
		}
		
		try {
			//if (args.length >= 1) clusterMax = Integer.parseInt(args[0]); //̏ݒ͏try߂Ɉړ
			//if (args.length >= 2) maxIter = Integer.parseInt(args[1]);
			
			//Ƀf[^T
			File rootPath = new File(infroot);
			File[] dataDirs = rootPath.listFiles(regex("retweetLog[\\d]+"));
			for (File dir : dataDirs) {
				String[] dataFileNames = dir.list(regex("[\\d]+\\.csv"));
				for (String fileName : dataFileNames) {
					File resFile = new File(dir, fileName.replaceAll("([\\d]+\\.)(csv)", "$1res.$2")); //ʏo͐
					if (!resFile.exists()) { 
						//o̓t@C݂(ɏς݂)f[^͖
						File dataFile = new File(dir, fileName); //͌
						new EM(dataFile, resFile);
					}
				}
			}
		} catch(FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}