package standalone;

import java.io.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.text.*;

public class PANAV
    extends JFrame implements ActionListener {

  private static final long serialVersionUID = 1L; // added 10_21_2009

  protected JSplitPane m_sp;

  JTextArea Ref_mess = new JTextArea();
  JScrollPane Ref_jp = new JScrollPane(Ref_mess);

  JTextPane Val_mess = new JTextPane();

  JScrollPane Val_jp = new JScrollPane(Val_mess);

  Object[][] atFirst;
  Object[][] caliberated;

  File returnfile;
  String line="";

  double allow = 0.1;

  int[] res_len = {
      3, 4, 5, 6};

  strReader_5 strreader;
  
 

  public void actionPerformed(ActionEvent e) {

    String command = e.getActionCommand();
    // loadStrFile();// to load  file

    if (command.equals("Read .str File") || command.equals("Read shift_X File") ||
        command.equals("Read shift_Y File")) {

      loadStrFile();

      if (command.equals("Read .str File")) {
        strreader = new strReader_5(returnfile, "str");
      }
      else if (command.equals("Read shift_X File")) {
        strreader = new strReader_5(returnfile, "shiftX_table");
        // System.out.println("shift_X");
      }
      else if (command.equals("Read shift_Y File")) {
        strreader = new strReader_5(returnfile, "shiftY");
        // System.out.println("shift_Y");
      }
      ;

      atFirst = strreader.getDisplayElements();
      addTable();

      caliberated = strreader.getCal_DisplayElements();

      if (strreader.need_ref_cal) {
        addCalTable();
        Ref_mess.setText("Detected reference offsets \n" + strreader.ref_shift +
                         "\n\n" + strreader.get_D_S_shift());
      }
      else {
        Ref_mess.setText("no reference offsets required" + "\n\n" +
                         strreader.get_D_S_shift());
      }

      add_Val();

    }
    ; //eof command
    if (command.equals("Save Output")) {

      try {
        FileWriter out = new FileWriter("../" + returnfile.getName() +
                                        "_output.txt");
        try {
          Document c = Val_mess.getDocument();
          out.write(c.getText(0, c.getLength()) + Ref_mess.getText());
        }
        catch (BadLocationException ble) {}

        out.close();

      }
      catch (IOException ex) {
        ex.printStackTrace();
      }
      JOptionPane.showMessageDialog( this,
                                     "Output saved as "+"../" + returnfile.getName() +
                                        "_output.txt","File Saved!",
                                JOptionPane.INFORMATION_MESSAGE);

      } ;
    }

///

    GridBagConstraints constraints = new GridBagConstraints();

    void addGB(Component component, int x, int y, double height, double width) {
      constraints.gridx = x;
      constraints.gridy = y;
      constraints.weightx = height;
      constraints.weighty = width;
      add(component, constraints);
    }

///
    chemicalShift chemical;
    JTable table;
    JScrollPane scroll;

    chemicalShift chemicalcal;
    JTable tablecal;
    JScrollPane scrollcal;

    JTabbedPane tables = new JTabbedPane();

    public void addTable() {
      chemical = new chemicalShift(atFirst);
      table = new JTable(chemical);
      scroll = new JScrollPane(table);
      tables.addTab(returnfile.getName(), scroll);

      table.repaint();

    }

    public void addCalTable() {
      chemicalcal = new chemicalShift(caliberated);
      tablecal = new JTable(chemicalcal);
      scrollcal = new JScrollPane(tablecal);
      tables.addTab("No_deviant_Ref_calibrated", scrollcal);
      table.repaint();
    }

    public void add_Val() {

      SimpleAttributeSet red = new SimpleAttributeSet();
      StyleConstants.setForeground(red, Color.red);
      StyleConstants.setBold(red, true);
      SimpleAttributeSet blue = new SimpleAttributeSet();
      StyleConstants.setForeground(blue, Color.blue);
      SimpleAttributeSet italic = new SimpleAttributeSet();
      StyleConstants.setItalic(italic, true);
      StyleConstants.setForeground(italic, Color.orange);

      Val_mess.setFont(new Font("Serif", Font.PLAIN, 24));

      Document d = Val_mess.getDocument();

      try {
        d.remove(0, d.getLength());
        d.insertString(d.getLength(), returnfile.getName() + "\n", blue);
      }
      catch (BadLocationException ble1) {}
      ;

      Val_mess.setFont(new Font("Serif", Font.PLAIN, 12));

      String seq = strreader.getSequence();
      int[] aaIndex = strreader.getSequenceLine();
      Double[][] sixtycal = strreader.getSixtyCal();

      for (int r = 0; r < res_len.length; r++) {

        boolean[] CaCb_sel = strreader.getscannableList(res_len[r]);
        Scanner_3 scan = new Scanner_3(seq, aaIndex, sixtycal, res_len[r],
                                       allow, CaCb_sel);

        int[] s_position = scan.get_s_pos();

        String[] score = scan.get_Score();
        String[] s_nor_prob = scan.get_o_prob_nor();

        try {
          Val_mess.setFont(new Font("Serif", Font.PLAIN, 24));

          d.insertString(d.getLength(),
                         "\n" + Integer.toString(res_len[r]) +
                         "-Resdue Scan: \n\n",
                         blue);
          Val_mess.setFont(new Font("Serif", Font.PLAIN, 12));

          boolean[] x = new boolean[s_position.length + res_len[r]];
          for (int q = 0; q < x.length; q++) {
            x[q] = true;
          }

          for (int q = 0; q < x.length - res_len[r]; q++) {
            for (int m = 0; m < res_len[r]; m++) {
              if (s_position[q] > 0) {
                x[q + m] = false;
              }
            }
          }
          ;

          for (int i = 0; i < x.length; i++) {

            try {
              if (x[i]) {
                d.insertString(d.getLength(), seq.substring(i, i + 1), blue);
              }
              else {
                d.insertString(d.getLength(), seq.substring(i, i + 1), red);
              }

              if (Integer.toString(i + 1).endsWith("0") && i > 0) {
                d.insertString(d.getLength(), "  ", blue);
              }
            }
            catch (Exception bdle) {}
            ;

            } ; // eof i

            d.insertString(d.getLength(), "\n\nOriginal Assigment and Probability vs Suggested Assignment and Probability \n\n",
                           blue);

            d.insertString(d.getLength(), scan.get_message(), blue);
            d.insertString(d.getLength(), "\n", blue);

            d.insertString(d.getLength(),
                           "# of selected frags: " + score[0] +
                           ";   # of confirmed frags: " +
                           score[1] +
                           "; CONA Score:  " + score[2] + "\n", blue);
            
          }
          catch (Exception ble) {}

        }
        ; //eof r

      }
      ; // eof Val

      Border forTables = BorderFactory.createEtchedBorder();

      JMenuBar menu = new JMenuBar();
      JMenu filelist = new JMenu("File");
      JMenuItem open = new JMenuItem("Read .str File");
      JMenuItem open2 = new JMenuItem("Read shift_X File");
      JMenuItem open3 = new JMenuItem("Read shift_Y File");

      JMenuItem save = new JMenuItem("Save Output");
      JMenu about = new JMenu("About");
      JMenu exit = new JMenu("Exit");

      public void loadStrFile() {
        JFileChooser chooser = new JFileChooser();
        int result = chooser.showOpenDialog(this);
        if (result == JFileChooser.CANCEL_OPTION) {
          return;
        }
        try {
          returnfile = chooser.getSelectedFile();

        }
        catch (Exception e) {
          System.out.println("Problem reading file");
        }
      } //
      private String get_validation_mesg() {
        String dmesg = "";

        dmesg += returnfile.getName() + "\n";
        String seq = strreader.getSequence();
        int[] aaIndex = strreader.getSequenceLine();
        Double[][] sixtycal = strreader.getSixtyCal();

        for (int r = 0; r < res_len.length; r++) {

          boolean[] CaCb_sel = strreader.getscannableList(res_len[r]);
          Scanner_3 scan = new Scanner_3(seq, aaIndex, sixtycal, res_len[r],
                                         allow, CaCb_sel);
          int[] s_position = scan.get_s_pos();
          String[] score = scan.get_Score();
          String[] s_nor_prob = scan.get_o_prob_nor();
         dmesg+= "\n" + res_len[r] + "-Residue Scan: \n\n";
         boolean[] x = new boolean[s_position.length + res_len[r]];
         for (int q = 0; q < x.length; q++) {
              x[q] = true;
         }

        for (int q = 0; q < x.length - res_len[r]; q++) {
              for (int m = 0; m < res_len[r]; m++) {
                if (s_position[q] > 0) {
                  x[q + m] = false;
                }
            }
        }
       for (int i = 0; i < x.length-1; i++) {
                if (x[i]) {
                  dmesg+= seq.substring(i, i + 1);
                }
                else {
                  dmesg+=seq.substring(i, i + 1);
                  //dmesg+="<b>"+seq.substring(i, i + 1)+"</b>"; //If want this part stands out(bold)
                }

                if (Integer.toString(i + 1).endsWith("0") && i > 0) {
                  dmesg+= "  ";
                }
      }
      dmesg+="\n\nOriginal Assigment and Probability vs Suggested Assignment and Probability \n\n";
      dmesg+=scan.get_message()+"\n";
      dmesg+= "# of selected frags: " + score[0] + ";   # of confirmed frags: " +
             score[1] +"; CONA Score:  " + score[2] + "\n";
      
      line=line+score[2]+" ";
        }
        System.out.print(line +" ");

      return dmesg;
  }
//  constructor
        public PANAV(String type, String in, String out) {
        	
        	
          returnfile = new File(in);
          strreader = new strReader_5(returnfile, type);
          caliberated = strreader.getCal_DisplayElements();
          String ref_mesg="";
          if (strreader.need_ref_cal) {
           ref_mesg="Detected reference offsets \n" +
                             strreader.ref_shift +
                             "\n\n" + strreader.get_D_S_shift();
          }
          else {
           ref_mesg="no reference offsets required" + "\n\n" +
                             strreader.get_D_S_shift();
          }
          write_calib_seq(caliberated, out);
        String validateout=get_validation_mesg();
        
        System.out.println(strreader.ref_shift);
/*
          try {
            FileWriter outfile = new FileWriter(out);
            outfile.write(validateout +"\n\n"+ ref_mesg);
            outfile.close();
            
            line=line+strreader.ref_shift;
            
            FileWriter out2=new FileWriter("/Users/nyoung/data/All.out",true);
            out2.write(line+"\n");
            out2.close();
            
            
          }
          catch (IOException ex) {
            ex.printStackTrace();
          }
     */     
          
        }
    /**
     * write_calib_seq
     *
     * @param caliberated Object[][]
     */
    private void write_calib_seq(Object[][] cal, String out) {
      String[] headings = new String[] {"Seq","C","CA","CB","N", "H","HA", "B-prob","C-prob","H-prob", "SecStr"};
      String s=String.format("%6s\t%6s\t%6s\t%6s\t%6s\t%6s\t%6s\t%6s\t%6s\t%6s\t%6s\n",(Object[])headings);
      try {
        FileWriter outfile = new FileWriter(out+"_calibrated");
        outfile.write(s);
        for(int i=0;i<cal.length;i++){
          outfile.write(String.format("%6s\t%6s\t%6s\t%6s\t%6s\t%6s\t%6s\t%6s\t%6s\t%6s\t%6s\n", cal[i]));
        }
        outfile.close();
      }
      catch (IOException ex) {
        ex.printStackTrace();
      }
    }
    public PANAV() {

          tables.setBorder(BorderFactory.createTitledBorder(forTables,
              "CSI and Sec Structure", TitledBorder.LEFT, TitledBorder.TOP));

          setLayout(new GridBagLayout());
          constraints.weightx = 1;
          constraints.weighty = 1;
          constraints.fill = GridBagConstraints.BOTH;

          JPanel R_JP = new JPanel();
          R_JP.setLayout(new BoxLayout(R_JP, BoxLayout.X_AXIS));
          R_JP.setBorder(new TitledBorder(new EtchedBorder(50),
                                          "Reference offsets and Deviant shifts"));
          R_JP.add(Ref_jp);

          JPanel V_JP = new JPanel();
          V_JP.setLayout(new BoxLayout(V_JP, BoxLayout.X_AXIS));
          V_JP.setBorder(new TitledBorder(new EtchedBorder(50), "Validatation"));
          V_JP.add(Val_jp);

          m_sp = new JSplitPane(JSplitPane.VERTICAL_SPLIT, tables, V_JP);
          m_sp.setDividerLocation(150);
          m_sp.setDividerSize(8);

          m_sp.setContinuousLayout(false);
          m_sp.setOneTouchExpandable(true);

          addGB(m_sp, 0, 0, 1, 16);
          addGB(R_JP, 0, 1, 1, 4);

          menu.add(filelist);
          filelist.add(open);
          filelist.add(open2);
          filelist.add(open3);

          filelist.add(save);

          open.addActionListener(this);
          open2.addActionListener(this);
          open3.addActionListener(this);
          save.addActionListener(this);
          menu.add(about);
          menu.add(exit);
          setJMenuBar(menu);

        }

///////////////////////////////////////////////////


        public static void main(String[] args) {
        	
        	//String path="/Users/nyoung/data/PANAV-PerfResults/";
        	String path="/Users/nyoung/data/PANAV-PerfResults2/";
        	//String path="/Users/nyoung/data/bmrbtest/";
        	 
        	/*
        	String str[]= new String []{
        			"4028.str",
        			"4012.str",
        			"4150.str",
        			"6586.str",
        			"6080.str",
        			"7351.str",
        			"7034.str",
        			"6531.str",
        			"7414.str",
        			"15820.str",
        			"5678.str",
        			"5324.str",
        			"6612.str",
        			"4953.str",
        			"15148.str",
        			"6532.str",
        			"11019.str",
        			"5547.str",
        			"5179.str",
        			"5558.str",
        			"15070.str",
        			"4445.str",
        			"15315.str",
        			"7035.str",
        			"18326.str",
        			"bmr4034_3.str",
        			"bmr15488_3.str",
        			"bmr15594_3.str"
        			};
        	*/
        	/*
        	String str[]=new String[] {
        			"bmr10002.str",
        			"bmr10004.str",
        			"bmr10005.str",
        			"bmr10006.str",
        			"bmr10008.str",
        			"bmr10009.str",
        			"bmr10010.str",
        			"bmr10011.str",
        			"bmr10012.str",
        			"bmr10013.str",
        			"bmr10016.str",
        			"bmr10023.str",
        			"bmr10024.str",
        			"bmr10025.str",
        			"bmr10026.str",
        			"bmr10027.str",
        			"bmr10029.str",
        			"bmr10030.str",
        			"bmr10031.str",
        			"bmr10032.str",
        			"bmr10033.str",
        			"bmr10034.str",
        			"bmr10035.str",
        			"bmr10036.str",
        			"bmr10037.str",
        			"bmr10038.str",
        			"bmr10039.str",
        			"bmr10040.str",
        			"bmr10041.str",
        			"bmr10042.str",
        			"bmr10043.str",
        			"bmr10044.str",
        			"bmr10045.str",
        			"bmr10046.str",
        			"bmr10047.str",
        			"bmr10048.str",
        			"bmr10049.str",
        			"bmr10050.str",
        			"bmr10052.str",
        			"bmr10053.str",
        			"bmr10054.str",
        			"bmr10055.str",
        			"bmr10056.str",
        			"bmr10057.str",
        			"bmr10058.str",
        			"bmr10059.str",
        			"bmr10060.str",
        			"bmr10061.str",
        			"bmr10063.str",
        			"bmr10064.str",
        			"bmr10065.str",
        			"bmr10066.str",
        			"bmr10067.str",
        			"bmr10068.str",
        			"bmr10069.str",
        			"bmr10070.str",
        			"bmr10071.str",
        			"bmr10072.str",
        			"bmr10073.str",
        			"bmr10074.str",
        			"bmr10075.str",
        			"bmr10076.str",
        			"bmr10077.str",
        			"bmr10078.str",
        			"bmr10079.str",
        			"bmr10080.str",
        			"bmr10081.str",
        			"bmr10082.str",
        			"bmr10083.str",
        			"bmr10084.str",
        			"bmr10085.str",
        			"bmr10086.str",
        			//"bmr10087.str", error
        			"bmr10088.str",
        			"bmr10089.str",
        			"bmr10090.str",
        			"bmr10091.str",
        			"bmr10092.str",
        			"bmr10093.str",
        			"bmr10094.str",
        			"bmr10095.str",
        			"bmr10096.str",
        			"bmr10097.str",
        			"bmr10098.str",
        			"bmr10099.str",
        			"bmr10100.str",
        			"bmr10101.str",
        			"bmr10102.str",
        			"bmr10103.str",
        			"bmr10104.str",
        			"bmr10105.str",
        			"bmr10106.str",
        			"bmr10107.str",
        			"bmr10108.str",
        			"bmr10109.str",
        			"bmr10110.str",
        			"bmr10111.str",
        			"bmr10112.str",
        			"bmr10113.str",
        			"bmr10114.str",
        			"bmr10115.str",
        			"bmr10118.str",
        			"bmr10119.str",
        			"bmr10120.str",
        			"bmr10121.str",
        			"bmr10122.str",
        			"bmr10123.str",
        			"bmr10124.str",
        			"bmr10125.str",
        			"bmr10126.str",
        			"bmr10127.str",
        			"bmr10128.str",
        			"bmr10129.str",
        			"bmr10130.str",
        			"bmr10131.str",
        			"bmr10136.str",
        			"bmr10137.str",
        			"bmr10138.str",
        			"bmr10139.str",
        			"bmr10141.str",
        			"bmr10142.str",
        			"bmr10143.str",
        			"bmr10144.str",
        			"bmr10145.str",
        			"bmr10146.str",
        			"bmr10147.str",
        			"bmr10148.str",
        			"bmr10149.str",
        			"bmr10150.str",
        			"bmr10159.str",
        			"bmr10160.str",
        			"bmr10161.str",
        			"bmr10162.str",
        			"bmr10163.str",
        			"bmr10164.str",
        			"bmr10165.str",
        			"bmr10193.str",
        			"bmr10194.str",
        			"bmr10195.str",
        			"bmr10211.str",
        			"bmr10213.str",
        			"bmr10214.str",
        			"bmr10235.str",
        			"bmr10237.str",
        			"bmr10238.str",
        			"bmr10239.str",
        			"bmr1061.str",
        			"bmr1062.str",
        			"bmr11001.str",
        			"bmr11009.str",
        			"bmr11010.str",
        			"bmr11011.str",
        			"bmr11013.str",
        			"bmr11017.str",
        			"bmr11018.str",
        			"bmr11019.str",
        			"bmr11020.str",
        			"bmr11024.str",
        			"bmr11026.str",
        			"bmr11027.str",
        			"bmr11029.str",
        			"bmr11030.str",
        			"bmr11031.str",
        			"bmr11032.str",
        			"bmr11033.str",
        			"bmr11034.str",
        			"bmr11035.str",
        			"bmr11036.str",
        			"bmr11037.str",
        			"bmr11038.str",
        			"bmr11040.str",
        			"bmr11041.str",
        			"bmr11043.str",
        			"bmr11055.str",
        			"bmr11065.str",
        			"bmr11067.str",
        			"bmr15001.str",
        			"bmr15002.str",
        			"bmr15003.str",
        			"bmr15007.str",
        			"bmr15008.str",
        			"bmr15009.str",
        			"bmr15010.str",
        			"bmr15011.str",
        			"bmr15012.str",
        			"bmr15013.str",
        			"bmr15014.str",
        			"bmr15019.str",
        			"bmr15020.str",
        			"bmr15021.str",
        			"bmr15028.str",
        			"bmr15032.str",
        			"bmr15034.str",
        			"bmr15036.str",
        			"bmr15038.str",
        			"bmr15039.str",
        			"bmr15046.str",
        			"bmr15048.str",
        			"bmr15049.str",
        			"bmr15055.str",
        			"bmr15057.str",
        			"bmr15059.str",
        			"bmr15060.str",
        			"bmr15061.str",
        			"bmr15063.str",
        			"bmr15064.str",
        			"bmr15066.str",
        			"bmr15070.str",
        			"bmr15074.str",
        			"bmr15077.str",
        			"bmr15078.str",
        			"bmr15079.str",
        			"bmr15082.str",
        			"bmr15084.str",
        			"bmr15085.str",
        			"bmr15086.str",
        			"bmr15088.str",
        			"bmr15089.str",
        			"bmr15090.str",
        			"bmr15091.str",
        			"bmr15092.str",
        			"bmr15093.str",
        			"bmr15094.str",
        			"bmr15097.str",
        			"bmr15100.str",
        			"bmr15101.str",
        			"bmr15102.str",
        			"bmr15105.str",
        			"bmr15106.str",
        			"bmr15109.str",
        			"bmr15110.str",
        			"bmr15112.str",
        			"bmr15117.str",
        			"bmr15121.str",
        			"bmr15123.str",
        			"bmr15125.str",
        			"bmr15126.str",
        			"bmr15127.str",
        			"bmr15128.str",
        			"bmr15129.str",
        			"bmr15131.str",
        			"bmr15132.str",
        			"bmr15133.str",
        			"bmr15134.str",
        			"bmr15135.str",
        			"bmr15136.str",
        			"bmr15139.str",
        			"bmr15141.str",
        			"bmr15148.str",
        			"bmr15150.str",
        			"bmr15152.str",
        			"bmr15154.str",
        			"bmr15156.str",
        			"bmr15158.str",
        			"bmr15161.str",
        			"bmr15162.str",
        			"bmr15163.str",
        			"bmr15166.str",
        			"bmr15167.str",
        			"bmr15168.str",
        			"bmr15172.str",
        			"bmr15173.str",
        			"bmr15176.str",
        			"bmr15177.str",
        			"bmr15178.str",
        			"bmr15179.str",
        			"bmr15180.str",
        			"bmr15189.str",
        			"bmr15190.str",
        			"bmr15192.str",
        			"bmr15193.str",
        			"bmr15194.str",
        			"bmr15197.str",
        			"bmr15198.str",
        			"bmr15200.str",
        			"bmr15201.str",
        			"bmr15203.str",
        			"bmr15204.str",
        			"bmr15206.str",
        			"bmr15207.str",
        			"bmr15208.str",
        			"bmr15209.str",
        			"bmr15210.str",
        			"bmr15211.str",
        			"bmr15212.str",
        			"bmr15213.str",
        			"bmr15215.str",
        			"bmr15217.str",
        			"bmr15219.str",
        			"bmr15225.str",
        			"bmr15230.str",
        			"bmr15232.str",
        			"bmr15240.str",
        			"bmr15242.str",
        			"bmr15243.str",
        			"bmr15247.str",
        			"bmr15248.str",
        			"bmr15249.str",
        			"bmr15250.str",
        			"bmr15252.str",
        			"bmr15253.str",
        			"bmr15256.str",
        			"bmr15258.str",
        			"bmr15263.str",
        			"bmr15264.str",
        			"bmr15265.str",
        			"bmr15266.str",
        			"bmr15268.str",
        			"bmr15269.str",
        			"bmr15270.str",
        			"bmr15274.str",
        			"bmr15275.str",
        			"bmr15276.str",
        			"bmr15278.str",
        			"bmr15279.str",
        			"bmr15280.str",
        			"bmr15281.str",
        			"bmr15283.str",
        			"bmr15288.str",
        			"bmr15290.str",
        			"bmr15295.str",
        			"bmr15296.str",
        			"bmr15298.str",
        			"bmr15300.str",
        			"bmr15303.str",
        			"bmr15304.str",
        			"bmr15306.str",
        			"bmr15312.str",
        			"bmr15313.str",
        			"bmr15315.str",
        			"bmr15317.str",
        			"bmr15320.str",
        			"bmr15322.str",
        			"bmr15325.str",
        			"bmr15326.str",
        			"bmr15327.str",
        			"bmr15329.str",
        			"bmr15332.str",
        			"bmr15333.str",
        			"bmr15335.str",
        			"bmr15336.str",
        			"bmr15338.str",
        			"bmr15339.str",
        			"bmr15340.str",
        			"bmr15341.str",
        			"bmr15343.str",
        			"bmr15344.str",
        			"bmr15345.str",
        			"bmr15346.str",
        			"bmr15347.str",
        			"bmr15348.str",
        			"bmr15349.str",
        			"bmr15350.str",
        			"bmr15351.str",
        			"bmr15352.str",
        			"bmr15353.str",
        			"bmr15354.str",
        			"bmr15355.str",
        			"bmr15356.str",
        			"bmr15361.str",
        			"bmr15369.str",
        			"bmr15370.str",
        			"bmr15371.str",
        			"bmr15372.str",
        			"bmr15373.str",
        			"bmr15377.str",
        			"bmr15378.str",
        			"bmr15380.str",
        			"bmr15381.str",
        			"bmr15383.str",
        			"bmr15384.str",
        			"bmr15385.str",
        			"bmr15386.str",
        			"bmr15388.str",
        			"bmr15393.str",
        			"bmr15397.str",
        			"bmr15403.str",
        			"bmr15404.str",
        			"bmr15406.str",
        			"bmr15407.str",
        			"bmr15408.str",
        			"bmr15409.str",
        			"bmr15410.str",
        			"bmr15411.str",
        			"bmr15412.str",
        			"bmr15415.str",
        			"bmr15418.str",
        			"bmr15419.str",
        			"bmr15424.str",
        			"bmr15426.str",
        			"bmr15427.str",
        			"bmr15429.str",
        			"bmr15430.str",
        			"bmr15431.str",
        			"bmr15433.str",
        			"bmr15434.str",
        			"bmr15437.str",
        			"bmr15438.str",
        			"bmr15440.str",
        			"bmr15441.str",
        			"bmr15442.str",
        			"bmr15444.str",
        			"bmr15446.str",
        			"bmr15448.str",
        			"bmr15449.str",
        			"bmr15451.str",
        			"bmr15452.str",
        			"bmr15456.str",
        			"bmr15457.str",
        			"bmr15459.str",
        			"bmr15461.str",
        			"bmr15462.str",
        			"bmr15466.str",
        			"bmr15468.str",
        			"bmr15469.str",
        			"bmr15471.str",
        			"bmr15473.str",
        			"bmr15474.str",
        			"bmr15475.str",
        			"bmr15479.str",
        			"bmr15482.str",
        			"bmr15485.str",
        			"bmr15486.str",
        			"bmr15487.str",
        			"bmr15490.str",
        			"bmr15491.str",
        			"bmr15498.str",
        			"bmr15501.str",
        			"bmr15504.str",
        			"bmr15505.str",
        			"bmr15506.str",
        			"bmr15507.str",
        			"bmr15509.str",
        			"bmr15511.str",
        			"bmr15512.str",
        			"bmr15514.str",
        			"bmr15517.str",
        			"bmr15518.str",
        			"bmr15520.str",
        			"bmr15525.str",
        			"bmr15528.str",
        			"bmr15529.str",
        			"bmr15530.str",
        			"bmr15531.str",
        			"bmr15534.str",
        			"bmr15535.str",
        			"bmr15536.str",
        			"bmr15537.str",
        			"bmr15539.str",
        			"bmr15540.str",
        			"bmr15541.str",
        			"bmr15542.str",
        			"bmr15545.str",
        			"bmr15547.str",
        			"bmr15548.str",
        			"bmr15553.str",
        			"bmr15554.str",
        			"bmr15560.str",
        			"bmr15562.str",
        			"bmr15564.str",
        			"bmr15566.str",
        			"bmr15567.str",
        			"bmr15568.str",
        			"bmr15569.str",
        			"bmr15570.str",
        			"bmr15573.str",
        			"bmr15574.str",
        			"bmr15576.str",
        			"bmr15577.str",
        			"bmr15578.str",
        			"bmr15581.str",
        			"bmr15584.str",
        			"bmr15585.str",
        			"bmr15587.str",
        			"bmr15590.str",
        			"bmr15591.str",
        			"bmr15592.str",
        			"bmr15593.str",
        			"bmr15595.str",
        			"bmr15597.str",
        			"bmr15598.str",
        			"bmr15599.str",
        			"bmr15601.str",
        			"bmr15602.str",
        			"bmr15603.str",
        			"bmr15604.str",
        			"bmr15607.str",
        			"bmr15608.str",
        			"bmr15609.str",
        			"bmr15610.str",
        			"bmr15611.str",
        			"bmr15617.str",
        			"bmr15618.str",
        			"bmr15623.str",
        			"bmr15626.str",
        			"bmr15627.str",
        			"bmr15628.str",
        			"bmr15633.str",
        			"bmr15635.str",
        			"bmr15636.str",
        			"bmr15637.str",
        			"bmr15642.str",
        			"bmr15643.str",
        			"bmr15644.str",
        			"bmr15646.str",
        			"bmr15651.str",
        			"bmr15652.str",
        			"bmr15653.str",
        			"bmr15654.str",
        			"bmr15655.str",
        			"bmr15659.str",
        			"bmr15660.str",
        			"bmr15661.str",
        			"bmr15662.str",
        			"bmr15663.str",
        			"bmr15664.str",
        			"bmr15669.str",
        			"bmr15670.str",
        			"bmr15671.str",
        			"bmr15673.str",
        			"bmr15674.str",
        			//"bmr15675.str", error
        			"bmr15677.str",
        			"bmr15678.str",
        			"bmr15680.str",
        			"bmr15681.str",
        			"bmr15682.str",
        			"bmr15683.str",
        			"bmr15684.str",
        			"bmr15689.str",
        			"bmr15690.str",
        			"bmr15692.str",
        			"bmr15693.str",
        			"bmr15694.str",
        			"bmr15695.str",
        			"bmr15700.str",
        			"bmr15701.str",
        			"bmr15703.str",
        			"bmr15706.str",
        			"bmr15707.str",
        			"bmr15710.str",
        			"bmr15715.str",
        			"bmr15716.str",
        			"bmr15718.str",
        			"bmr15719.str",
        			"bmr15720.str",
        			"bmr15721.str",
        			"bmr15722.str",
        			"bmr15723.str",
        			"bmr15726.str",
        			"bmr15727.str",
        			"bmr15732.str",
        			"bmr15734.str",
        			"bmr15735.str",
        			"bmr15737.str",
        			"bmr15739.str",
        			"bmr15740.str",
        			"bmr15741.str",
        			"bmr15743.str",
        			"bmr15744.str",
        			"bmr15750.str",
        			"bmr15756.str",
        			"bmr15757.str",
        			"bmr15758.str",
        			"bmr15759.str",
        			"bmr15760.str",
        			"bmr15761.str",
        			"bmr15762.str",
        			"bmr15763.str",
        			"bmr15764.str",
        			"bmr15769.str",
        			"bmr15770.str",
        			"bmr15774.str",
        			"bmr15775.str",
        			"bmr15776.str",
        			"bmr15777.str",
        			"bmr15778.str",
        			"bmr15782.str",
        			"bmr15784.str",
        			"bmr15787.str",
        			"bmr15788.str",
        			"bmr15789.str",
        			"bmr15790.str",
        			"bmr15791.str",
        			"bmr15793.str",
        			"bmr15795.str",
        			"bmr15796.str",
        			"bmr15797.str",
        			"bmr15798.str",
        			"bmr15800.str",
        			"bmr15801.str",
        			"bmr15802.str",
        			"bmr15803.str",
        			"bmr15804.str",
        			"bmr15807.str",
        			"bmr15808.str",
        			"bmr15810.str",
        			"bmr15811.str",
        			"bmr15812.str",
        			"bmr15813.str",
        			"bmr15814.str",
        			"bmr15816.str",
        			"bmr15817.str",
        			"bmr15818.str",
        			"bmr15819.str",
        			"bmr15820.str",
        			"bmr15821.str",
        			"bmr15822.str",
        			"bmr15823.str",
        			"bmr15824.str",
        			"bmr15825.str",
        			"bmr15826.str",
        			"bmr15828.str",
        			"bmr15829.str",
        			"bmr15833.str",
        			"bmr15834.str",
        			"bmr15835.str",
        			"bmr15836.str",
        			"bmr15837.str",
        			"bmr15839.str",
        			"bmr15840.str",
        			"bmr15841.str",
        			"bmr15843.str",
        			"bmr15844.str",
        			"bmr15845.str",
        			"bmr15846.str",
        			"bmr15847.str",
        			"bmr15848.str",
        			"bmr15849.str",
        			"bmr15850.str",
        			"bmr15851.str",
        			"bmr15852.str",
        			//"bmr15854.str", error
        			"bmr15855.str",
        			"bmr15864.str",
        			"bmr15865.str",
        			"bmr15866.str",
        			"bmr15867.str",
        			"bmr15868.str",
        			"bmr15875.str",
        			"bmr15877.str",
        			"bmr15881.str",
        			"bmr15882.str",
        			"bmr15883.str",
        			"bmr15884.str",
        			"bmr15885.str",
        			"bmr15893.str",
        			"bmr15894.str",
        			"bmr15895.str",
        			"bmr15896.str",
        			"bmr15897.str",
        			"bmr15899.str",
        			"bmr15902.str",
        			"bmr15911.str",
        			"bmr15913.str",
        			"bmr15914.str",
        			"bmr15918.str",
        			"bmr15921.str",
        			"bmr15924.str",
        			"bmr15925.str",
        			"bmr15927.str",
        			"bmr15928.str",
        			"bmr15932.str",
        			"bmr15938.str",
        			"bmr15939.str",
        			"bmr15940.str",
        			"bmr15943.str",
        			"bmr15944.str",
        			"bmr15945.str",
        			"bmr15948.str",
        			"bmr15949.str",
        			"bmr15950.str",
        			"bmr15952.str",
        			"bmr15953.str",
        			"bmr15954.str",
        			"bmr15956.str",
        			"bmr15958.str",
        			"bmr15961.str",
        			"bmr15962.str",
        			"bmr15963.str",
        			"bmr15964.str",
        			"bmr15966.str",
        			"bmr15969.str",
        			"bmr15970.str",
        			"bmr15971.str",
        			"bmr15972.str",
        			"bmr15977.str",
        			"bmr15981.str",
        			"bmr15986.str",
        			"bmr15988.str",
        			"bmr15989.str",
        			"bmr15990.str",
        			"bmr15991.str",
        			"bmr15995.str",
        			"bmr15996.str",
        			"bmr15999.str",
        			"bmr16001.str",
        			"bmr16002.str",
        			"bmr16006.str",
        			"bmr16007.str",
        			"bmr16008.str",
        			"bmr16009.str",
        			"bmr16014.str",
        			"bmr16015.str",
        			"bmr16021.str",
        			"bmr16029.str",
        			"bmr16030.str",
        			"bmr16031.str",
        			"bmr16032.str",
        			"bmr16037.str",
        			"bmr16042.str",
        			"bmr16045.str",
        			"bmr16046.str",
        			"bmr16047.str",
        			"bmr16048.str",
        			"bmr16049.str",
        			"bmr16050.str",
        			"bmr16052.str",
        			"bmr16053.str",
        			"bmr16057.str",
        			"bmr16058.str",
        			"bmr16059.str",
        			"bmr16060.str",
        			"bmr16061.str",
        			"bmr16063.str",
        			"bmr16064.str",
        			"bmr16065.str",
        			"bmr16066.str",
        			"bmr16068.str",
        			"bmr16069.str",
        			"bmr16072.str",
        			//"bmr16081.str", error
        			"bmr16083.str",
        			"bmr16084.str",
        			"bmr16085.str",
        			"bmr16091.str",
        			"bmr16093.str",
        			"bmr16096.str",
        			"bmr16097.str",
        			"bmr16098.str",
        			"bmr16100.str",
        			"bmr16101.str",
        			"bmr16102.str",
        			"bmr16103.str",
        			"bmr16107.str",
        			"bmr16109.str",
        			"bmr16111.str",
        			"bmr16113.str",
        			"bmr16118.str",
        			"bmr16120.str",
        			"bmr16121.str",
        			"bmr16124.str",
        			"bmr16127.str",
        			"bmr16129.str",
        			"bmr16133.str",
        			"bmr16134.str",
        			"bmr16135.str",
        			"bmr16144.str",
        			"bmr16147.str",
        			"bmr16154.str",
        			"bmr16155.str",
        			"bmr16157.str",
        			"bmr16161.str",
        			"bmr16165.str",
        			"bmr16166.str",
        			"bmr16167.str",
        			"bmr16168.str",
        			"bmr16173.str",
        			"bmr16183.str",
        			"bmr16184.str",
        			"bmr16185.str",
        			"bmr16186.str",
        			"bmr16206.str",
        			"bmr16209.str",
        			"bmr16210.str",
        			"bmr16214.str",
        			"bmr16216.str",
        			"bmr16221.str",
        			"bmr16233.str",
        			"bmr16238.str",
        			"bmr16250.str",
        			"bmr16253.str",
        			"bmr16255.str",
        			"bmr16265.str",
        			"bmr16267.str",
        			"bmr16296.str",
        			"bmr16298.str",
        			"bmr16300.str",
        			"bmr16301.str",
        			"bmr16302.str",
        			"bmr16303.str",
        			"bmr16304.str",
        			"bmr16312.str",
        			"bmr16325.str",
        			"bmr16340.str",
        			"bmr1642.str",
        			"bmr4001.str",
        			"bmr4019.str",
        			"bmr4022.str",
        			"bmr4023.str",
        			"bmr4027.str",
        			"bmr4030.str",
        			"bmr4031.str",
        			"bmr4032.str",
        			"bmr4036.str",
        			"bmr4038.str",
        			"bmr4039.str",
        			"bmr4040.str",
        			"bmr4041.str",
        			"bmr4045.str",
        			"bmr4046.str",
        			"bmr4047.str",
        			"bmr4049.str",
        			"bmr4052.str",
        			"bmr4053.str",
        			"bmr4056.str",
        			"bmr4060.str",
        			"bmr4061.str",
        			"bmr4064.str",
        			"bmr4070.str",
        			"bmr4072.str",
        			"bmr4073.str",
        			"bmr4074.str",
        			"bmr4076.str",
        			"bmr4077.str",
        			"bmr4078.str",
        			"bmr4079.str",
        			"bmr4081.str",
        			"bmr4082.str",
        			"bmr4083.str",
        			"bmr4084.str",
        			"bmr4085.str",
        			"bmr4086.str",
        			"bmr4087.str",
        			"bmr4089.str",
        			"bmr4090.str",
        			"bmr4091.str",
        			"bmr4092.str",
        			"bmr4094.str",
        			"bmr4097.str",
        			"bmr4098.str",
        			"bmr4099.str",
        			"bmr4100.str",
        			"bmr4101.str",
        			"bmr4102.str",
        			"bmr4105.str",
        			"bmr4106.str",
        			"bmr4107.str",
        			"bmr4108.str",
        			"bmr4109.str",
        			"bmr4110.str",
        			"bmr4113.str",
        			"bmr4114.str",
        			"bmr4115.str",
        			"bmr4116.str",
        			"bmr4117.str",
        			"bmr4121.str",
        			"bmr4122.str",
        			"bmr4123.str",
        			"bmr4126.str",
        			"bmr4130.str",
        			"bmr4131.str",
        			"bmr4132.str",
        			"bmr4134.str",
        			"bmr4141.str",
        			"bmr4144.str",
        			"bmr4146.str",
        			"bmr4147.str",
        			"bmr4149.str",
        			"bmr4150.str",
        			"bmr4151.str",
        			"bmr4152.str",
        			"bmr4153.str",
        			"bmr4154.str",
        			"bmr4156.str",
        			"bmr4160.str",
        			"bmr4161.str",
        			"bmr4162.str",
        			"bmr4165.str",
        			"bmr4177.str",
        			"bmr4183.str",
        			"bmr4184.str",
        			"bmr4186.str",
        			"bmr4188.str",
        			"bmr4193.str",
        			"bmr4197.str",
        			"bmr4198.str",
        			"bmr4202.str",
        			"bmr4205.str",
        			"bmr4206.str",
        			"bmr4209.str",
        			"bmr4214.str",
        			"bmr4215.str",
        			"bmr4217.str",
        			"bmr4223.str",
        			"bmr4224.str",
        			"bmr4227.str",
        			"bmr4228.str",
        			"bmr4236.str",
        			"bmr4237.str",
        			"bmr4242.str",
        			"bmr4248.str",
        			"bmr4249.str",
        			"bmr4251.str",
        			"bmr4252.str",
        			"bmr4254.str",
        			"bmr4255.str",
        			"bmr4263.str",
        			"bmr4264.str",
        			"bmr4265.str",
        			"bmr4267.str",
        			"bmr4269.str",
        			"bmr4270.str",
        			"bmr4271.str",
        			"bmr4272.str",
        			"bmr4280.str",
        			"bmr4281.str",
        			"bmr4282.str",
        			"bmr4284.str",
        			"bmr4285.str",
        			"bmr4288.str",
        			"bmr4293.str",
        			"bmr4294.str",
        			"bmr4296.str",
        			"bmr4297.str",
        			"bmr4301.str",
        			"bmr4302.str",
        			"bmr4304.str",
        			"bmr4305.str",
        			"bmr4307.str",
        			"bmr4310.str",
        			"bmr4311.str",
        			"bmr4312.str",
        			"bmr4313.str",
        			"bmr4316.str",
        			"bmr4317.str",
        			"bmr4318.str",
        			"bmr4321.str",
        			"bmr4323.str",
        			"bmr4326.str",
        			"bmr4327.str",
        			"bmr4328.str",
        			"bmr4333.str",
        			"bmr4334.str",
        			"bmr4335.str",
        			"bmr4336.str",
        			"bmr4339.str",
        			"bmr4340.str",
        			"bmr4342.str",
        			"bmr4343.str",
        			"bmr4349.str",
        			"bmr4352.str",
        			"bmr4353.str",
        			"bmr4354.str",
        			"bmr4360.str",
        			"bmr4367.str",
        			"bmr4368.str",
        			"bmr4371.str",
        			"bmr4373.str",
        			"bmr4374.str",
        			"bmr4375.str",
        			"bmr4376.str",
        			"bmr4378.str",
        			"bmr4379.str",
        			"bmr4380.str",
        			"bmr4381.str",
        			"bmr4382.str",
        			"bmr4384.str",
        			"bmr4385.str",
        			"bmr4386.str",
        			"bmr4388.str",
        			"bmr4391.str",
        			"bmr4394.str",
        			"bmr4395.str",
        			"bmr4397.str",
        			"bmr4401.str",
        			"bmr4402.str",
        			"bmr4403.str",
        			"bmr4405.str",
        			"bmr4407.str",
        			"bmr4413.str",
        			"bmr4417.str",
        			"bmr4421.str",
        			"bmr4424.str",
        			"bmr4425.str",
        			"bmr4426.str",
        			"bmr4430.str",
        			"bmr4434.str",
        			"bmr4437.str",
        			"bmr4438.str",
        			"bmr4445.str",
        			"bmr4447.str",
        			"bmr4448.str",
        			"bmr4449.str",
        			"bmr4451.str",
        			"bmr4453.str",
        			"bmr4455.str",
        			"bmr4460.str",
        			"bmr4463.str",
        			"bmr4467.str",
        			"bmr447.str",
        			"bmr4470.str",
        			"bmr4471.str",
        			"bmr4472.str",
        			"bmr4478.str",
        			"bmr4486.str",
        			"bmr4491.str",
        			"bmr4492.str",
        			"bmr4493.str",
        			"bmr4496.str",
        			"bmr4497.str",
        			"bmr4516.str",
        			"bmr4519.str",
        			"bmr4526.str",
        			"bmr4527.str",
        			"bmr4528.str",
        			"bmr4553.str",
        			"bmr4554.str",
        			"bmr4558.str",
        			"bmr4560.str",
        			"bmr4562.str",
        			"bmr4563.str",
        			"bmr4565.str",
        			"bmr4566.str",
        			"bmr4567.str",
        			"bmr4568.str",
        			"bmr4571.str",
        			"bmr4572.str",
        			"bmr4574.str",
        			"bmr4575.str",
        			"bmr4577.str",
        			"bmr4578.str",
        			"bmr4579.str",
        			"bmr4583.str",
        			"bmr4590.str",
        			"bmr4593.str",
        			"bmr4599.str",
        			"bmr4603.str",
        			"bmr4617.str",
        			"bmr4619.str",
        			"bmr4620.str",
        			"bmr4621.str",
        			"bmr4622.str",
        			"bmr4636.str",
        			"bmr4637.str",
        			"bmr4641.str",
        			"bmr4648.str",
        			"bmr4649.str",
        			"bmr4663.str",
        			"bmr4664.str",
        			"bmr4666.str",
        			"bmr4668.str",
        			"bmr4670.str",
        			"bmr4671.str",
        			"bmr4674.str",
        			"bmr4675.str",
        			"bmr4676.str",
        			"bmr4677.str",
        			"bmr4678.str",
        			"bmr4679.str",
        			"bmr4680.str",
        			"bmr4681.str",
        			"bmr4683.str",
        			"bmr4688.str",
        			"bmr4695.str",
        			"bmr4700.str",
        			"bmr4704.str",
        			"bmr4705.str",
        			"bmr4706.str",
        			"bmr4707.str",
        			"bmr4708.str",
        			"bmr4709.str",
        			"bmr4710.str",
        			"bmr4712.str",
        			"bmr4716.str",
        			"bmr4717.str",
        			"bmr4718.str",
        			"bmr4719.str",
        			"bmr4720.str",
        			"bmr4721.str",
        			"bmr4722.str",
        			"bmr4726.str",
        			"bmr4727.str",
        			"bmr4735.str",
        			"bmr4736.str",
        			"bmr4737.str",
        			"bmr4752.str",
        			"bmr4758.str",
        			"bmr4765.str",
        			"bmr4766.str",
        			"bmr4767.str",
        			"bmr4768.str",
        			"bmr4769.str",
        			"bmr4771.str",
        			"bmr4773.str",
        			"bmr4775.str",
        			"bmr4776.str",
        			"bmr4777.str",
        			"bmr4779.str",
        			"bmr4782.str",
        			"bmr4786.str",
        			"bmr4787.str",
        			"bmr4788.str",
        			"bmr4789.str",
        			"bmr4790.str",
        			"bmr4791.str",
        			"bmr4792.str",
        			"bmr4793.str",
        			"bmr4794.str",
        			"bmr4795.str",
        			"bmr4796.str",
        			"bmr4797.str",
        			"bmr4802.str",
        			"bmr4803.str",
        			"bmr4804.str",
        			"bmr4813.str",
        			"bmr4814.str",
        			"bmr4817.str",
        			"bmr4818.str",
        			"bmr4819.str",
        			"bmr4821.str",
        			"bmr4825.str",
        			"bmr4827.str",
        			"bmr4828.str",
        			"bmr4829.str",
        			"bmr4831.str",
        			"bmr4833.str",
        			"bmr4834.str",
        			"bmr4836.str",
        			"bmr4839.str",
        			"bmr4840.str",
        			"bmr4841.str",
        			"bmr4843.str",
        			"bmr4844.str",
        			"bmr4848.str",
        			"bmr4849.str",
        			"bmr4851.str",
        			"bmr4854.str",
        			"bmr4856.str",
        			"bmr4857.str",
        			"bmr4858.str",
        			"bmr4860.str",
        			"bmr4863.str",
        			"bmr4866.str",
        			"bmr4869.str",
        			"bmr4870.str",
        			"bmr4871.str",
        			"bmr4874.str",
        			"bmr4876.str",
        			"bmr4878.str",
        			"bmr4879.str",
        			"bmr4880.str",
        			"bmr4881.str",
        			"bmr4884.str",
        			"bmr4885.str",
        			"bmr4892.str",
        			"bmr4893.str",
        			"bmr4895.str",
        			"bmr4896.str",
        			"bmr4897.str",
        			"bmr4898.str",
        			"bmr4899.str",
        			"bmr4901.str",
        			"bmr4902.str",
        			"bmr4905.str",
        			"bmr4908.str",
        			"bmr4909.str",
        			"bmr4911.str",
        			"bmr4912.str",
        			"bmr4913.str",
        			"bmr4915.str",
        			"bmr4922.str",
        			"bmr4927.str",
        			"bmr4928.str",
        			"bmr4929.str",
        			"bmr4931.str",
        			"bmr4935.str",
        			"bmr4936.str",
        			"bmr4938.str",
        			"bmr4940.str",
        			"bmr4941.str",
        			"bmr4942.str",
        			"bmr4944.str",
        			"bmr4945.str",
        			"bmr4952.str",
        			"bmr4953.str",
        			"bmr4954.str",
        			"bmr4957.str",
        			"bmr4958.str",
        			"bmr4959.str",
        			"bmr4961.str",
        			"bmr4963.str",
        			"bmr4964.str",
        			"bmr4965.str",
        			"bmr4967.str",
        			"bmr4969.str",
        			"bmr4972.str",
        			"bmr4973.str",
        			"bmr4974.str",
        			"bmr4978.str",
        			"bmr4981.str",
        			"bmr4982.str",
        			"bmr4983.str",
        			"bmr4984.str",
        			"bmr4985.str",
        			"bmr4986.str",
        			"bmr4987.str",
        			"bmr4989.str",
        			"bmr4991.str",
        			"bmr4992.str",
        			"bmr4994.str",
        			"bmr4996.str",
        			"bmr4998.str",
        			"bmr4999.str",
        			"bmr5003.str",
        			"bmr5004.str",
        			"bmr5005.str",
        			"bmr5008.str",
        			"bmr5009.str",
        			"bmr5010.str",
        			"bmr5013.str",
        			"bmr5014.str",
        			"bmr5018.str",
        			"bmr5019.str",
        			"bmr5022.str",
        			"bmr5027.str",
        			"bmr5030.str",
        			"bmr5031.str",
        			"bmr5038.str",
        			"bmr5040.str",
        			"bmr5041.str",
        			"bmr5042.str",
        			"bmr5044.str",
        			"bmr5049.str",
        			"bmr5051.str",
        			"bmr5053.str",
        			"bmr5054.str",
        			"bmr5055.str",
        			"bmr5056.str",
        			"bmr5058.str",
        			"bmr5059.str",
        			"bmr5060.str",
        			"bmr5061.str",
        			"bmr5062.str",
        			"bmr5064.str",
        			"bmr5065.str",
        			"bmr5067.str",
        			"bmr5070.str",
        			"bmr5071.str",
        			"bmr5072.str",
        			"bmr5073.str",
        			"bmr5075.str",
        			"bmr5077.str",
        			"bmr5078.str",
        			"bmr5081.str",
        			"bmr5090.str",
        			"bmr5093.str",
        			"bmr5100.str",
        			"bmr5101.str",
        			"bmr5103.str",
        			"bmr5104.str",
        			"bmr5105.str",
        			"bmr5106.str",
        			"bmr5107.str",
        			"bmr5115.str",
        			"bmr5116.str",
        			"bmr5119.str",
        			"bmr5126.str",
        			"bmr5127.str",
        			"bmr5128.str",
        			"bmr5129.str",
        			"bmr5130.str",
        			"bmr5131.str",
        			"bmr5141.str",
        			"bmr5142.str",
        			"bmr5145.str",
        			"bmr5148.str",
        			"bmr5155.str",
        			"bmr5156.str",
        			"bmr5159.str",
        			"bmr5161.str",
        			"bmr5162.str",
        			"bmr5165.str",
        			"bmr5166.str",
        			"bmr5174.str",
        			"bmr5175.str",
        			"bmr5177.str",
        			"bmr5179.str",
        			"bmr5181.str",
        			"bmr5182.str",
        			"bmr5185.str",
        			"bmr5186.str",
        			"bmr5187.str",
        			"bmr5189.str",
        			"bmr5194.str",
        			"bmr5200.str",
        			"bmr5202.str",
        			"bmr5204.str",
        			"bmr5206.str",
        			"bmr5208.str",
        			"bmr5211.str",
        			"bmr5212.str",
        			"bmr5217.str",
        			"bmr5218.str",
        			"bmr5220.str",
        			"bmr5221.str",
        			"bmr5222.str",
        			"bmr5223.str",
        			"bmr5224.str",
        			"bmr5225.str",
        			"bmr5226.str",
        			"bmr5228.str",
        			"bmr5231.str",
        			"bmr5232.str",
        			"bmr5233.str",
        			"bmr5234.str",
        			"bmr5235.str",
        			"bmr5237.str",
        			"bmr5242.str",
        			"bmr5244.str",
        			"bmr5247.str",
        			"bmr5250.str",
        			"bmr5261.str",
        			"bmr5263.str",
        			"bmr5266.str",
        			"bmr5267.str",
        			"bmr5269.str",
        			"bmr5270.str",
        			"bmr5275.str",
        			"bmr5276.str",
        			"bmr5280.str",
        			"bmr5286.str",
        			"bmr5297.str",
        			"bmr5298.str",
        			"bmr5299.str",
        			"bmr5300.str",
        			"bmr5303.str",
        			"bmr5305.str",
        			"bmr5308.str",
        			"bmr5309.str",
        			"bmr5310.str",
        			"bmr5311.str",
        			"bmr5312.str",
        			"bmr5313.str",
        			"bmr5314.str",
        			"bmr5315.str",
        			"bmr5316.str",
        			"bmr5317.str",
        			"bmr5324.str",
        			"bmr5326.str",
        			"bmr5327.str",
        			"bmr5328.str",
        			"bmr5329.str",
        			"bmr5332.str",
        			"bmr5334.str",
        			"bmr5335.str",
        			"bmr5337.str",
        			"bmr5340.str",
        			"bmr5343.str",
        			"bmr5345.str",
        			"bmr5347.str",
        			"bmr5349.str",
        			"bmr5351.str",
        			"bmr5352.str",
        			"bmr5354.str",
        			"bmr5355.str",
        			"bmr5356.str",
        			"bmr5357.str",
        			"bmr5359.str",
        			"bmr5361.str",
        			"bmr5362.str",
        			"bmr5363.str",
        			"bmr5365.str",
        			"bmr5366.str",
        			"bmr5368.str",
        			"bmr5373.str",
        			"bmr5377.str",
        			"bmr5378.str",
        			"bmr5386.str",
        			"bmr5387.str",
        			"bmr5388.str",
        			"bmr5389.str",
        			"bmr5390.str",
        			"bmr5391.str",
        			"bmr5392.str",
        			"bmr5393.str",
        			"bmr5397.str",
        			"bmr5398.str",
        			"bmr5399.str",
        			"bmr5401.str",
        			"bmr5402.str",
        			"bmr5403.str",
        			"bmr5404.str",
        			"bmr5406.str",
        			"bmr5407.str",
        			"bmr5409.str",
        			"bmr5455.str",
        			"bmr5456.str",
        			"bmr5458.str",
        			"bmr5459.str",
        			"bmr5461.str",
        			"bmr5462.str",
        			"bmr5465.str",
        			"bmr5467.str",
        			"bmr5468.str",
        			"bmr5471.str",
        			"bmr5472.str",
        			"bmr5473.str",
        			"bmr5474.str",
        			"bmr5480.str",
        			"bmr5481.str",
        			"bmr5482.str",
        			"bmr5484.str",
        			"bmr5485.str",
        			"bmr5490.str",
        			"bmr5493.str",
        			"bmr5496.str",
        			"bmr5497.str",
        			"bmr5498.str",
        			"bmr5499.str",
        			"bmr5500.str",
        			"bmr5504.str",
        			"bmr5505.str",
        			"bmr5506.str",
        			"bmr5513.str",
        			"bmr5515.str",
        			"bmr5516.str",
        			"bmr5517.str",
        			"bmr5532.str",
        			"bmr5534.str",
        			"bmr5536.str",
        			"bmr5537.str",
        			"bmr5538.str",
        			"bmr5539.str",
        			"bmr5540.str",
        			"bmr5544.str",
        			"bmr5545.str",
        			"bmr5547.str",
        			"bmr5552.str",
        			"bmr5554.str",
        			"bmr5557.str",
        			"bmr5558.str",
        			"bmr5560.str",
        			"bmr5563.str",
        			"bmr5565.str",
        			"bmr5566.str",
        			"bmr5567.str",
        			"bmr5568.str",
        			"bmr5570.str",
        			"bmr5571.str",
        			"bmr5572.str",
        			"bmr5573.str",
        			"bmr5576.str",
        			"bmr5577.str",
        			"bmr5578.str",
        			"bmr5579.str",
        			"bmr5584.str",
        			"bmr5589.str",
        			"bmr5590.str",
        			"bmr5591.str",
        			"bmr5592.str",
        			"bmr5593.str",
        			"bmr5594.str",
        			"bmr5595.str",
        			"bmr5596.str",
        			"bmr5598.str",
        			"bmr5599.str",
        			"bmr5600.str",
        			"bmr5601.str",
        			"bmr5602.str",
        			"bmr5605.str",
        			"bmr5606.str",
        			"bmr5615.str",
        			"bmr5616.str",
        			"bmr5618.str",
        			"bmr5619.str",
        			"bmr5620.str",
        			"bmr5621.str",
        			"bmr5622.str",
        			"bmr5623.str",
        			"bmr5627.str",
        			"bmr5628.str",
        			"bmr5629.str",
        			"bmr5630.str",
        			"bmr5631.str",
        			"bmr5633.str",
        			"bmr5650.str",
        			"bmr5653.str",
        			"bmr5654.str",
        			"bmr5656.str",
        			"bmr5657.str",
        			"bmr5658.str",
        			"bmr5659.str",
        			"bmr5661.str",
        			"bmr5662.str",
        			"bmr5663.str",
        			"bmr5666.str",
        			"bmr5668.str",
        			"bmr5677.str",
        			"bmr5678.str",
        			"bmr5679.str",
        			"bmr5680.str",
        			"bmr5682.str",
        			"bmr5683.str",
        			"bmr5684.str",
        			"bmr5685.str",
        			"bmr5686.str",
        			"bmr5687.str",
        			"bmr5689.str",
        			"bmr5690.str",
        			"bmr5691.str",
        			"bmr5692.str",
        			"bmr5693.str",
        			"bmr5695.str",
        			"bmr5696.str",
        			"bmr5700.str",
        			"bmr5701.str",
        			"bmr5704.str",
        			"bmr5707.str",
        			"bmr5709.str",
        			"bmr5710.str",
        			"bmr5711.str",
        			"bmr5712.str",
        			"bmr5713.str",
        			"bmr5719.str",
        			//"bmr5721.str",error
        			"bmr5722.str", 
        			"bmr5729.str",
        			"bmr5736.str",
        			"bmr5738.str",
        			"bmr5740.str",
        			"bmr5741.str",
        			"bmr5742.str",
        			"bmr5744.str",
        			"bmr5745.str",
        			"bmr5748.str",
        			"bmr5752.str",
        			"bmr5753.str",
        			"bmr5754.str",
        			"bmr5755.str",
        			"bmr5756.str",
        			"bmr5757.str",
        			"bmr5758.str",
        			"bmr5760.str",
        			"bmr5761.str",
        			"bmr5762.str",
        			"bmr5763.str",
        			"bmr5764.str",
        			"bmr5766.str",
        			"bmr5770.str",
        			"bmr5772.str",
        			"bmr5774.str",
        			"bmr5778.str",
        			"bmr5779.str",
        			"bmr5786.str",
        			"bmr5787.str",
        			"bmr5789.str",
        			"bmr5792.str",
        			"bmr5793.str",
        			"bmr5794.str",
        			"bmr5796.str",
        			"bmr5797.str",
        			"bmr5798.str",
        			"bmr5799.str",
        			"bmr5800.str",
        			"bmr5802.str",
        			"bmr5805.str",
        			"bmr5808.str",
        			"bmr5813.str",
        			"bmr5814.str",
        			"bmr5816.str",
        			"bmr5819.str",
        			"bmr5820.str",
        			"bmr5821.str",
        			"bmr5822.str",
        			"bmr5823.str",
        			"bmr5824.str",
        			"bmr5825.str",
        			"bmr5826.str",
        			"bmr5827.str",
        			"bmr5828.str",
        			"bmr5833.str",
        			"bmr5838.str",
        			"bmr5842.str",
        			"bmr5843.str",
        			"bmr5844.str",
        			"bmr5845.str",
        			"bmr5846.str",
        			"bmr5849.str",
        			"bmr5850.str",
        			"bmr5853.str",
        			"bmr5854.str",
        			"bmr5856.str",
        			"bmr5861.str",
        			"bmr5862.str",
        			"bmr5863.str",
        			"bmr5866.str",
        			"bmr5867.str",
        			"bmr5868.str",
        			"bmr5871.str",
        			"bmr5872.str",
        			"bmr5873.str",
        			"bmr5875.str",
        			"bmr5876.str",
        			"bmr5878.str",
        			"bmr5879.str",
        			"bmr5880.str",
        			"bmr5882.str",
        			"bmr5884.str",
        			"bmr5885.str",
        			"bmr5887.str",
        			"bmr5888.str",
        			"bmr5891.str",
        			"bmr5892.str",
        			"bmr5894.str",
        			"bmr5895.str",
        			"bmr5897.str",
        			"bmr5898.str",
        			"bmr5899.str",
        			"bmr5902.str",
        			"bmr5904.str",
        			"bmr5906.str",
        			"bmr5907.str",
        			"bmr5909.str",
        			"bmr5912.str",
        			"bmr5918.str",
        			"bmr5920.str",
        			"bmr5921.str",
        			"bmr5924.str",
        			"bmr5928.str",
        			"bmr5929.str",
        			"bmr5931.str",
        			"bmr5933.str",
        			"bmr5935.str",
        			"bmr5937.str",
        			"bmr5939.str",
        			"bmr5940.str",
        			"bmr5942.str",
        			"bmr5943.str",
        			"bmr5946.str",
        			"bmr5947.str",
        			"bmr5950.str",
        			"bmr5952.str",
        			"bmr5953.str",
        			"bmr5954.str",
        			"bmr5956.str",
        			"bmr5959.str",
        			"bmr5960.str",
        			"bmr5963.str",
        			"bmr5967.str",
        			"bmr5968.str",
        			"bmr5970.str",
        			"bmr5971.str",
        			"bmr5973.str",
        			"bmr5974.str",
        			"bmr5976.str",
        			"bmr5977.str",
        			"bmr5981.str",
        			"bmr5982.str",
        			"bmr5983.str",
        			"bmr5987.str",
        			"bmr5992.str",
        			"bmr5997.str",
        			"bmr5998.str",
        			"bmr5999.str",
        			"bmr6000.str",
        			"bmr6001.str",
        			"bmr6002.str",
        			"bmr6003.str",
        			"bmr6004.str",
        			"bmr6005.str",
        			"bmr6007.str",
        			"bmr6008.str",
        			"bmr6010.str",
        			"bmr6011.str",
        			"bmr6012.str",
        			"bmr6013.str",
        			"bmr6014.str",
        			"bmr6015.str",
        			"bmr6019.str",
        			"bmr6021.str",
        			"bmr6023.str",
        			"bmr6024.str",
        			"bmr6025.str",
        			"bmr6026.str",
        			"bmr6028.str",
        			"bmr6029.str",
        			"bmr6030.str",
        			"bmr6031.str",
        			"bmr6032.str",
        			"bmr6034.str",
        			"bmr6035.str",
        			"bmr6043.str",
        			"bmr6044.str",
        			"bmr6045.str",
        			"bmr6046.str",
        			"bmr6047.str",
        			"bmr6049.str",
        			"bmr6051.str",
        			"bmr6052.str",
        			"bmr6053.str",
        			"bmr6055.str",
        			"bmr6057.str",
        			"bmr6058.str",
        			"bmr6059.str",
        			"bmr6060.str",
        			"bmr6069.str",
        			"bmr6071.str",
        			"bmr6072.str",
        			"bmr6073.str",
        			"bmr6074.str",
        			"bmr6075.str",
        			"bmr6079.str",
        			"bmr6080.str",
        			"bmr6081.str",
        			"bmr6086.str",
        			"bmr6090.str",
        			"bmr6092.str",
        			"bmr6093.str",
        			"bmr6095.str",
        			"bmr6096.str",
        			"bmr6098.str",
        			"bmr6099.str",
        			"bmr6100.str",
        			"bmr6102.str",
        			"bmr6103.str",
        			"bmr6104.str",
        			"bmr6108.str",
        			"bmr6111.str",
        			"bmr6113.str",
        			"bmr6114.str",
        			"bmr6116.str",
        			"bmr6117.str",
        			"bmr6120.str",
        			"bmr6121.str",
        			"bmr6122.str",
        			"bmr6125.str",
        			"bmr6126.str",
        			"bmr6127.str",
        			"bmr6128.str",
        			"bmr6129.str",
        			"bmr6130.str",
        			"bmr6132.str",
        			"bmr6133.str",
        			"bmr6134.str",
        			"bmr6136.str",
        			"bmr6138.str",
        			"bmr6140.str",
        			"bmr6141.str",
        			"bmr6142.str",
        			"bmr6147.str",
        			"bmr6148.str",
        			"bmr6149.str",
        			"bmr6150.str",
        			"bmr6152.str",
        			"bmr6158.str",
        			"bmr6159.str",
        			"bmr6161.str",
        			"bmr6162.str",
        			"bmr6166.str",
        			"bmr6167.str",
        			"bmr6171.str",
        			"bmr6173.str",
        			"bmr6174.str",
        			"bmr6175.str",
        			"bmr6176.str",
        			"bmr6177.str",
        			"bmr6178.str",
        			"bmr6181.str",
        			"bmr6182.str",
        			"bmr6184.str",
        			"bmr6185.str",
        			"bmr6188.str",
        			"bmr6189.str",
        			"bmr6190.str",
        			"bmr6193.str",
        			"bmr6195.str",
        			"bmr6196.str",
        			"bmr6197.str",
        			"bmr6198.str",
        			"bmr6199.str",
        			"bmr6202.str",
        			"bmr6207.str",
        			"bmr6208.str",
        			"bmr6209.str",
        			"bmr6210.str",
        			"bmr6211.str",
        			"bmr6212.str",
        			//"bmr6213.str",error
        			"bmr6221.str",
        			"bmr6223.str",
        			"bmr6224.str",
        			"bmr6225.str",
        			"bmr6226.str",
        			"bmr6227.str",
        			"bmr6229.str",
        			"bmr6231.str",
        			"bmr6233.str",
        			"bmr6236.str",
        			"bmr6238.str",
        			"bmr6240.str",
        			"bmr6241.str",
        			"bmr6242.str",
        			"bmr6244.str",
        			"bmr6247.str",
        			"bmr6248.str",
        			"bmr6249.str",
        			"bmr6250.str",
        			"bmr6252.str",
        			"bmr6253.str",
        			"bmr6254.str",
        			"bmr6255.str",
        			"bmr6256.str",
        			"bmr6259.str",
        			"bmr6261.str",
        			"bmr6265.str",
        			"bmr6267.str",
        			"bmr6268.str",
        			"bmr6269.str",
        			"bmr6271.str",
        			"bmr6272.str",
        			"bmr6275.str",
        			"bmr6277.str",
        			"bmr6278.str",
        			"bmr6279.str",
        			"bmr6282.str",
        			"bmr6284.str",
        			"bmr6285.str",
        			"bmr6287.str",
        			"bmr6292.str",
        			"bmr6295.str",
        			"bmr6297.str",
        			"bmr6298.str",
        			"bmr6299.str",
        			"bmr6300.str",
        			"bmr6308.str",
        			"bmr6309.str",
        			"bmr6310.str",
        			"bmr6311.str",
        			"bmr6312.str",
        			"bmr6313.str",
        			"bmr6314.str",
        			"bmr6315.str",
        			"bmr6317.str",
        			"bmr6318.str",
        			"bmr6321.str",
        			"bmr6322.str",
        			"bmr6324.str",
        			"bmr6330.str",
        			"bmr6331.str",
        			"bmr6332.str",
        			"bmr6333.str",
        			"bmr6334.str",
        			"bmr6335.str",
        			"bmr6336.str",
        			"bmr6337.str",
        			"bmr6338.str",
        			"bmr6339.str",
        			"bmr6340.str",
        			"bmr6341.str",
        			"bmr6342.str",
        			"bmr6343.str",
        			"bmr6344.str",
        			"bmr6345.str",
        			"bmr6346.str",
        			"bmr6349.str",
        			"bmr6350.str",
        			"bmr6353.str",
        			"bmr6354.str",
        			"bmr6355.str",
        			"bmr6356.str",
        			"bmr6357.str",
        			"bmr6358.str",
        			"bmr6359.str",
        			"bmr6361.str",
        			"bmr6362.str",
        			"bmr6363.str",
        			"bmr6364.str",
        			"bmr6365.str",
        			"bmr6366.str",
        			"bmr6367.str",
        			"bmr6368.str",
        			"bmr6369.str",
        			"bmr6371.str",
        			"bmr6372.str",
        			"bmr6373.str",
        			"bmr6374.str",
        			"bmr6375.str",
        			"bmr6376.str",
        			"bmr6377.str",
        			"bmr6378.str",
        			"bmr6379.str",
        			"bmr6380.str",
        			"bmr6381.str",
        			"bmr6382.str",
        			"bmr6383.str",
        			"bmr6385.str",
        			"bmr6390.str",
        			"bmr6391.str",
        			"bmr6392.str",
        			"bmr6393.str",
        			"bmr6395.str",
        			"bmr6396.str",
        			"bmr6399.str",
        			"bmr6400.str",
        			"bmr6401.str",
        			"bmr6402.str",
        			"bmr6403.str",
        			"bmr6404.str",
        			"bmr6405.str",
        			"bmr6406.str",
        			"bmr6408.str",
        			"bmr6409.str",
        			"bmr6410.str",
        			"bmr6416.str",
        			"bmr6418.str",
        			"bmr6419.str",
        			"bmr6429.str",
        			"bmr6431.str",
        			"bmr6432.str",
        			"bmr6433.str",
        			"bmr6434.str",
        			"bmr6436.str",
        			"bmr6438.str",
        			"bmr6439.str",
        			"bmr6440.str",
        			"bmr6442.str",
        			"bmr6443.str",
        			"bmr6444.str",
        			"bmr6447.str",
        			"bmr6448.str",
        			"bmr6451.str",
        			"bmr6452.str",
        			"bmr6453.str",
        			"bmr6454.str",
        			"bmr6456.str",
        			"bmr6457.str",
        			"bmr6460.str",
        			"bmr6464.str",
        			"bmr6465.str",
        			"bmr6466.str",
        			"bmr6469.str",
        			"bmr6473.str",
        			"bmr6475.str",
        			"bmr6476.str",
        			"bmr6478.str",
        			"bmr6479.str",
        			"bmr6484.str",
        			"bmr6489.str",
        			//"bmr6493.str", error shown
        			"bmr6494.str",
        			"bmr6498.str",
        			"bmr6500.str",
        			"bmr6501.str",
        			"bmr6502.str",
        			"bmr6503.str",
        			"bmr6505.str",
        			"bmr6506.str",
        			"bmr6507.str",
        			"bmr6508.str",
        			"bmr6510.str",
        			"bmr6512.str",
        			"bmr6513.str",
        			"bmr6514.str",
        			"bmr6515.str",
        			"bmr6516.str",
        			"bmr6517.str",
        			"bmr6518.str",
        			"bmr6519.str",
        			//"bmr6524.str", error shown
        			//"bmr6526.str", error shown
        			"bmr6527.str",
        			"bmr6528.str",
        			"bmr6529.str",
        			"bmr6531.str",
        			"bmr6532.str",
        			"bmr6538.str",
        			"bmr6539.str",
        			"bmr6540.str",
        			"bmr6541.str",
        			"bmr6542.str",
        			"bmr6546.str",
        			"bmr6549.str",
        			"bmr6551.str",
        			"bmr6552.str",
        			"bmr6553.str",
        			"bmr6555.str",
        			"bmr6560.str",
        			"bmr6563.str",
        			"bmr6564.str",
        			"bmr6565.str",
        			"bmr6570.str",
        			"bmr6571.str",
        			"bmr6573.str",
        			"bmr6574.str",
        			"bmr6575.str",
        			"bmr6577.str",
        			"bmr6578.str",
        			"bmr6579.str",
        			"bmr6580.str",
        			"bmr6581.str",
        			"bmr6582.str",
        			"bmr6583.str",
        			"bmr6584.str",
        			"bmr6585.str",
        			"bmr6586.str",
        			"bmr6590.str",
        			"bmr6594.str",
        			"bmr6597.str",
        			"bmr6599.str",
        			"bmr6600.str",
        			"bmr6601.str",
        			"bmr6603.str",
        			"bmr6604.str",
        			"bmr6606.str",
        			"bmr6607.str",
        			"bmr6609.str",
        			"bmr6610.str",
        			"bmr6611.str",
        			"bmr6612.str",
        			"bmr6613.str",
        			"bmr6615.str",
        			"bmr6620.str",
        			"bmr6621.str",
        			"bmr6624.str",
        			"bmr6625.str",
        			"bmr6626.str",
        			"bmr6628.str",
        			"bmr6629.str",
        			"bmr6631.str",
        			"bmr6635.str",
        			"bmr6638.str",
        			"bmr6640.str",
        			"bmr6643.str",
        			"bmr6644.str",
        			"bmr6645.str",
        			"bmr6646.str",
        			"bmr6648.str",
        			"bmr6649.str",
        			"bmr6655.str",
        			"bmr6658.str",
        			"bmr6679.str",
        			"bmr6680.str",
        			"bmr6682.str",
        			"bmr6683.str",
        			"bmr6685.str",
        			"bmr6688.str",
        			"bmr6692.str",
        			"bmr6693.str",
        			"bmr6695.str",
        			"bmr6696.str",
        			"bmr6699.str",
        			"bmr6700.str",
        			"bmr6702.str",
        			"bmr6705.str",
        			"bmr6709.str",
        			"bmr6710.str",
        			"bmr6711.str",
        			"bmr6712.str",
        			"bmr6713.str",
        			"bmr6716.str",
        			"bmr6717.str",
        			"bmr6718.str",
        			"bmr6722.str",
        			"bmr6723.str",
        			"bmr6724.str",
        			"bmr6725.str",
        			"bmr6726.str",
        			"bmr6727.str",
        			"bmr6730.str",
        			"bmr6731.str",
        			"bmr6732.str",
        			"bmr6736.str",
        			"bmr6738.str",
        			"bmr6739.str",
        			"bmr6742.str",
        			"bmr6743.str",
        			"bmr6744.str",
        			"bmr6746.str",
        			"bmr6747.str",
        			"bmr6748.str",
        			"bmr6749.str",
        			"bmr6751.str",
        			"bmr6752.str",
        			"bmr6753.str",
        			"bmr6754.str",
        			"bmr6755.str",
        			"bmr6758.str",
        			"bmr6759.str",
        			"bmr6760.str",
        			"bmr6761.str",
        			"bmr6762.str",
        			"bmr6763.str",
        			"bmr6766.str",
        			"bmr6769.str",
        			"bmr6771.str",
        			"bmr6776.str",
        			"bmr6777.str",
        			"bmr6779.str",
        			"bmr6780.str",
        			"bmr6781.str",
        			"bmr6782.str",
        			"bmr6783.str",
        			"bmr6784.str",
        			"bmr6785.str",
        			"bmr6786.str",
        			"bmr6787.str",
        			"bmr6790.str",
        			"bmr6793.str",
        			"bmr6794.str",
        			"bmr6796.str",
        			"bmr6797.str",
        			"bmr6799.str",
        			"bmr6800.str",
        			"bmr6801.str",
        			"bmr6803.str",
        			"bmr6804.str",
        			"bmr6805.str",
        			"bmr6806.str",
        			"bmr6807.str",
        			"bmr6809.str",
        			"bmr6810.str",
        			"bmr6812.str",
        			"bmr6816.str",
        			"bmr6820.str",
        			"bmr6821.str",
        			"bmr6822.str",
        			"bmr6823.str",
        			"bmr6824.str",
        			"bmr6826.str",
        			"bmr6828.str",
        			"bmr6829.str",
        			"bmr6832.str",
        			//"bmr6833.str", error shown
        			"bmr6834.str",
        			"bmr6837.str",
        			"bmr6838.str",
        			"bmr6840.str",
        			"bmr6843.str",
        			"bmr6845.str",
        			"bmr6846.str",
        			"bmr6847.str",
        			"bmr6850.str",
        			"bmr6851.str",
        			"bmr6853.str",
        			"bmr6854.str",
        			"bmr6855.str",
        			"bmr6860.str",
        			"bmr6864.str",
        			"bmr6866.str",
        			"bmr6868.str",
        			"bmr6869.str",
        			"bmr6873.str",
        			"bmr6874.str",
        			"bmr6876.str",
        			"bmr6882.str",
        			"bmr6883.str",
        			"bmr6884.str",
        			"bmr6893.str",
        			"bmr6895.str",
        			"bmr6899.str",
        			"bmr6900.str",
        			"bmr6901.str",
        			"bmr6903.str",
        			"bmr6904.str",
        			"bmr6905.str",
        			"bmr6906.str",
        			"bmr6910.str",
        			"bmr6911.str",
        			"bmr6912.str",
        			"bmr6913.str",
        			"bmr6914.str",
        			"bmr6916.str",
        			"bmr6917.str",
        			"bmr6918.str",
        			"bmr6919.str",
        			"bmr6920.str",
        			"bmr6921.str",
        			"bmr6922.str",
        			"bmr6923.str",
        			"bmr6925.str",
        			"bmr6926.str",
        			"bmr6927.str",
        			"bmr6928.str",
        			"bmr6929.str",
        			"bmr6932.str",
        			"bmr6933.str",
        			"bmr6934.str",
        			"bmr6935.str",
        			"bmr6938.str",
        			"bmr6939.str",
        			"bmr6940.str",
        			"bmr6942.str",
        			"bmr6943.str",
        			"bmr6945.str",
        			"bmr6946.str",
        			"bmr6947.str",
        			"bmr6949.str",
        			"bmr6950.str",
        			"bmr6953.str",
        			"bmr6955.str",
        			"bmr6956.str",
        			"bmr6957.str",
        			"bmr6960.str",
        			"bmr6962.str",
        			"bmr6964.str",
        			"bmr6968.str",
        			"bmr6969.str",
        			"bmr6970.str",
        			"bmr6971.str",
        			"bmr6973.str",
        			"bmr6974.str",
        			"bmr6976.str",
        			"bmr6980.str",
        			"bmr6981.str",
        			"bmr6982.str",
        			"bmr6983.str",
        			"bmr6984.str",
        			"bmr6985.str",
        			"bmr6986.str",
        			"bmr6987.str",
        			"bmr6988.str",
        			"bmr6989.str",
        			"bmr6990.str",
        			"bmr6995.str",
        			"bmr6997.str",
        			"bmr6999.str",
        			"bmr7000.str",
        			"bmr7002.str",
        			"bmr7003.str",
        			"bmr7004.str",
        			"bmr7007.str",
        			"bmr7008.str",
        			"bmr7009.str",
        			"bmr7013.str",
        			"bmr7014.str",
        			"bmr7019.str",
        			"bmr7020.str",
        			//"bmr7021.str", error shown
        			"bmr7022.str",
        			"bmr7023.str",
        			"bmr7024.str",
        			"bmr7025.str",
        			"bmr7032.str",
        			"bmr7034.str",
        			"bmr7035.str",
        			"bmr7036.str",
        			"bmr7053.str",
        			"bmr7054.str",
        			"bmr7055.str",
        			"bmr7056.str",
        			"bmr7057.str",
        			"bmr7058.str",
        			"bmr7059.str",
        			"bmr7061.str",
        			"bmr7063.str",
        			"bmr7066.str",
        			"bmr7068.str",
        			"bmr7069.str",
        			"bmr7070.str",
        			"bmr7071.str",
        			"bmr7072.str",
        			"bmr7074.str",
        			"bmr7075.str",
        			"bmr7079.str",
        			"bmr7081.str",
        			"bmr7083.str",
        			"bmr7084.str",
        			"bmr7085.str",
        			"bmr7086.str",
        			"bmr7087.str",
        			"bmr7089.str",
        			"bmr7093.str",
        			"bmr7095.str",
        			"bmr7097.str",
        			"bmr7099.str",
        			"bmr7101.str",
        			"bmr7102.str",
        			"bmr7103.str",
        			"bmr7105.str",
        			"bmr7106.str",
        			"bmr7107.str",
        			"bmr7108.str",
        			"bmr7109.str",
        			"bmr7110.str",
        			"bmr7111.str",
        			"bmr7112.str",
        			"bmr7113.str",
        			"bmr7114.str",
        			"bmr7116.str",
        			"bmr7118.str",
        			"bmr7119.str",
        			"bmr7120.str",
        			"bmr7121.str",
        			"bmr7122.str",
        			"bmr7125.str",
        			"bmr7126.str",
        			"bmr7127.str",
        			"bmr7129.str",
        			"bmr7130.str",
        			"bmr7131.str",
        			"bmr7132.str",
        			"bmr7137.str",
        			"bmr7138.str",
        			"bmr7142.str",
        			"bmr7147.str",
        			"bmr7150.str",
        			"bmr7151.str",
        			"bmr7161.str",
        			"bmr7165.str",
        			"bmr7167.str",
        			"bmr7170.str",
        			"bmr7172.str",
        			"bmr7175.str",
        			"bmr7178.str",
        			"bmr7179.str",
        			"bmr7180.str",
        			"bmr7181.str",
        			"bmr7182.str",
        			"bmr7184.str",
        			"bmr7185.str",
        			"bmr7187.str",
        			"bmr7188.str",
        			"bmr7189.str",
        			"bmr7190.str",
        			"bmr7191.str",
        			"bmr7192.str",
        			"bmr7193.str",
        			"bmr7201.str",
        			"bmr7202.str",
        			"bmr7204.str",
        			"bmr7206.str",
        			"bmr7207.str",
        			"bmr7209.str",
        			"bmr7210.str",
        			"bmr7216.str",
        			"bmr7218.str",
        			"bmr7219.str",
        			"bmr7220.str",
        			"bmr7223.str",
        			"bmr7225.str",
        			"bmr7229.str",
        			"bmr7231.str",
        			"bmr7234.str",
        			"bmr7235.str",
        			"bmr7236.str",
        			"bmr7240.str",
        			"bmr7241.str",
        			"bmr7242.str",
        			"bmr7243.str",
        			"bmr7244.str",
        			"bmr7247.str",
        			"bmr7248.str",
        			"bmr7249.str",
        			"bmr7250.str",
        			"bmr7256.str",
        			"bmr7257.str",
        			"bmr7259.str",
        			"bmr7260.str",
        			"bmr7261.str",
        			"bmr7264.str",
        			"bmr7265.str",
        			"bmr7266.str",
        			"bmr7267.str",
        			"bmr7268.str",
        			"bmr7269.str",
        			"bmr7270.str",
        			"bmr7271.str",
        			"bmr7272.str",
        			"bmr7274.str",
        			"bmr7275.str",
        			"bmr7276.str",
        			"bmr7279.str",
        			"bmr7280.str",
        			"bmr7281.str",
        			"bmr7285.str",
        			"bmr7286.str",
        			"bmr7287.str",
        			"bmr7291.str",
        			"bmr7292.str",
        			"bmr7297.str",
        			"bmr7298.str",
        			"bmr7300.str",
        			"bmr7301.str",
        			"bmr7302.str",
        			"bmr7303.str",
        			//"bmr7309.str"//, error shown
        			"bmr7310.str",
        			"bmr7313.str",
        			"bmr7314.str",
        			"bmr7315.str",
        			"bmr7316.str",
        			"bmr7318.str",
        			"bmr7319.str",
        			"bmr7320.str",
        			"bmr7322.str",
        			"bmr7324.str",
        			"bmr7325.str",
        			"bmr7349.str",
        			"bmr7350.str",
        			"bmr7351.str",
        			"bmr7355.str",
        			"bmr7356.str",
        			"bmr7357.str",
        			"bmr7358.str",
        			"bmr7359.str",
        			"bmr7360.str",
        			"bmr7364.str",
        			"bmr7376.str",
        			"bmr7377.str",
        			"bmr7382.str",
        			"bmr7383.str",
        			"bmr7396.str",
        			"bmr7401.str",
        			"bmr7406.str",
        			"bmr7414.str",
        			"bmr7419.str",
        			"bmr7420.str",
        			"bmr7421.str",
        			"bmr7423.str",
        			"bmr7430.str"
        			"bmr7309_3.str",
        			//"bmr7021_3.str",
        			//"bmr6833_3.str",
        			"bmr6526_3.str",
        			"bmr6524_3.str",
        			"bmr6493_3.str",
        			"bmr5721_3.str",
        			"bmr15854_3.str",
        			"bmr10087_3.str"
        	};*/
        	/*
        	String str[]= new String []{"4012.str"
        			,"4028.str",
        			"18326.str"
        			};
        	*/
        	/*String str[]= new String []{
        			"bmr4012_3.str",
        			"bmr4034_3.str",
        			"bmr15488_3.str",
        			"bmr15594_3.str"
        			};
        	*/
        	/*
        	for (int i=0;i<str.length;i++) {
        		System.out.print(str[i]+" ");
        		new PANAV("str",path+str[i],path+str[i]+".out");
        		
        	}*/
        	
        	
          if (args.length == 3) {
            new PANAV (args[0], args[1], args[2]);
          }
          else {
            PANAV ha = new PANAV ();
            ha.setVisible(true);
            ha.setSize(900, 600);
            ha.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          }
        }
      }
