
/*
 *  XposeCipher
 *  Burton Rosenberg
 * 21 May 2004
 */
  
import java.util.* ;

class XposeCipher {
  
  public static void main( String [] args ) {
          int k ;
          if ( args.length==0 ) {
             System.out.println("Usage: XposeCiper key message") ;
             System.exit(0) ;
          }
          //ASSERT: args[0] exists
          Vector v = parseKey( args[0]) ;
          if ( v==null ) {
              System.out.println("key format nn,nnn,nnn" ) ;
              System.exit(0) ;
          }
          //ASSERT: v is not null
          for ( int i=0; i<v.size() ; i++ ) {
           System.out.println( getIntValue(v,i)) ;
          }
          
  }
        
  static int getIntValue( Vector v, int i ) {
        return ((Integer) v.elementAt(i)).intValue() ;        
  }
  
  static Vector parseKey(String key) {
  // returns null if something doesn't parse
     StringTokenizer st = new StringTokenizer( key, " \t\n\r\f,-.;:" ) ;
     Vector v  = new Vector() ;
     try {
         while ( st.hasMoreTokens() ) {
           int i = Integer.parseInt( st.nextToken() ) ;
           v.add( new Integer(i) ) ;
         }
     }
     catch  (NumberFormatException nfe)  {
           return null ;
      }
 
     return v ;
  }
        
}
