public static void main(String args[]) {
		new lognormalEM(args);
		
		try {
			stopWatch("Starting...");
			
			//Ƀ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) {
					int resFileNum = 1;
					String resFileName = fileName.replaceAll("([\\d]+\\.)(csv)", "$1res\\.ln\\." + resFileNum + "\\.$2");
					File resDir = new File(dir, fileName.replaceAll("([\\d]+\\.)(csv)", "$1res"));
					if(!resDir.isDirectory()) resDir.mkdir();
					File resFile = new File(resDir, resFileName); //ʏo͐
					if (clusteringMethod == KMEANS){ //őNX^w肵āANX^𑝂₵Ȃ玎siKϖ@ŃNX^j
						for (int cluster=1; cluster <= clusterMax; cluster++){
							while (resFile.exists()){
								//o̓t@C݂(1ȏ㏈ς)ȂԍCNgB
								resFileNum++;
								resFileName = fileName.replaceAll("([\\d]+\\.)(csv)", "$1res\\.ln\\." + resFileNum + "\\.$2");
								resFile = new File(resDir, resFileName);
							}
							if (!resFile.exists()) { 
								File dataFile = new File(dir, fileName); //͌
								new lognormalEM(cluster, dataFile, resFile);
							}
						}
					} else if(clusteringMethod == KLEINBERG) { //o[XgmgăNX^𔻒肷
						while (resFile.exists()){
							//o̓t@C݂(1ȏ㏈ς)ȂԍCNgB
							resFileNum++;
							resFileName = fileName.replaceAll("([\\d]+\\.)(csv)", "$1res\\.ln\\." + resFileNum + "\\.$2");
							resFile = new File(resDir, resFileName);
						}
						if (!resFile.exists()){
							File dataFile = new File(dir, fileName); //͌
							new lognormalEM(clusteringMethod, dataFile, resFile);
						}
					}
					if(criterion == AIC) icLogRename(aiclogFileName, resFile);
					else if(criterion == BIC) icLogRename(biclogFileName, resFile);
				}
			}
			stopWatch("Done.");
		} catch(FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}