// Path: src/edu/antonym/prototype/MetricEvaluator.java
// public interface MetricEvaluator {
// 	public double score(WordMetric metric) throws IOException;
// }
// 
// Path: src/edu/antonym/prototype/Vocabulary.java
// public interface Vocabulary {
// 	public int size();
// 	public int OOVindex();
// 	public String lookupIndex(int index);
// 	public int lookupWord(String word);
// 	public int getVocabSize();
// }
// 
// Path: src/edu/antonym/prototype/WordMetric.java
// public interface WordMetric {
// 	public Vocabulary getVocab();
// 
// 	public double similarity(int word1, int word2);
// }


import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
import edu.antonym.prototype.MetricEvaluator;
import edu.antonym.prototype.Vocabulary;
import edu.antonym.prototype.WordMetric;
	    		  }
	    		  
	    	  }  
	      }
	      if(cmd.hasOption("a")){
	    	  String path[] = cmd.getOptionValues("a"); 
	    	  for(int j=0;j<path.length;j++){
	    		  try{
	    			  FileInputStream f = new FileInputStream(path[j]);
		    		  antfiles.add(path[j]);
	    		  }catch(FileNotFoundException e){
	    			  System.out.println("File not found, exit");
	    			  System.exit(0);
	    		  }
	    	  }  
	      }
	      if(cmd.hasOption("h")){
	    	  showHelp(options);
	      }
	      if((!cmd.hasOption("h"))&&(!cmd.hasOption("a"))&&(!cmd.hasOption("s"))){
	          showHelp(options);
	      }
	    } catch (Exception e) {
	      e.printStackTrace();
	      showHelp(options);
	    }
		
	}
	
	@Override
// Path: src/edu/antonym/prototype/MetricEvaluator.java
// public interface MetricEvaluator {
// 	public double score(WordMetric metric) throws IOException;
// }
// 
// Path: src/edu/antonym/prototype/Vocabulary.java
// public interface Vocabulary {
// 	public int size();
// 	public int OOVindex();
// 	public String lookupIndex(int index);
// 	public int lookupWord(String word);
// 	public int getVocabSize();
// }
// 
// Path: src/edu/antonym/prototype/WordMetric.java
// public interface WordMetric {
// 	public Vocabulary getVocab();
// 
// 	public double similarity(int word1, int word2);
// }


// Path: src/edu/antonym/test/TestCase.java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
import edu.antonym.prototype.MetricEvaluator;
import edu.antonym.prototype.Vocabulary;
import edu.antonym.prototype.WordMetric;

	    		  }
	    		  
	    	  }  
	      }
	      if(cmd.hasOption("a")){
	    	  String path[] = cmd.getOptionValues("a"); 
	    	  for(int j=0;j<path.length;j++){
	    		  try{
	    			  FileInputStream f = new FileInputStream(path[j]);
		    		  antfiles.add(path[j]);
	    		  }catch(FileNotFoundException e){
	    			  System.out.println("File not found, exit");
	    			  System.exit(0);
	    		  }
	    	  }  
	      }
	      if(cmd.hasOption("h")){
	    	  showHelp(options);
	      }
	      if((!cmd.hasOption("h"))&&(!cmd.hasOption("a"))&&(!cmd.hasOption("s"))){
	          showHelp(options);
	      }
	    } catch (Exception e) {
	      e.printStackTrace();
	      showHelp(options);
	    }
		
	}
	
	@Override
	public double score(WordMetric metric) throws IOException {