import java.io.*;

public class ProspectReader
{
  private String[] addresses;
  
  // ----- constructors
  
  public ProspectReader( String filename, int numberOfEntries )
  {
    addresses = loadAddresses( filename, numberOfEntries );
  }
  
  // ----- public methods
  
  public String[] getAddresses()
  {
    return addresses;
  }
  
  public int numberOfEmailAddresses()
  {
    int count = 0;
    for (int i = 0; i < addresses.length; i++ )
      if ( ! addresses[i].equals( "" ) )
        count++;
    return count;
  }
  
  public int numberOfAddressesAt( String domain )
  {
    int count = 0;
    for (int i = 0; i < addresses.length; i++ )
      if ( addresses[i].endsWith(domain) )
        count++;
    return count;
  }
  
  // ----- helper methods
  
  private String[] loadAddresses( String filename, int numberOfEntries )
  {
    int actualCount = numberOfEntries - 1;
    
    String[] result = new String[actualCount];
    String line, entry;
    
    try {
      BufferedReader source = new BufferedReader( new FileReader(filename) );
      line = source.readLine();            // ignore the header line
        
      for ( int i = 0; i < actualCount; i++ )
      {
        line = source.readLine();
        String[] fields = line.split( "," );
        
        entry = fields[11];
        if ( entry.length() > 0 )
          entry = entry.substring( 1, entry.length()-1 );
        result[i] = entry;
      }
      
      source.close();
    }
    catch (IOException e) {
      System.out.println( "An error occurred reading the file " + filename );
      return null;
    }
    
    return result;
  }
}