class Matrix {

Matrix(){
    super(());
  }
  TPH SBB mul(TPH SBC m){
    TPH SBD ret;
    ret = new Matrix();
    TPH SBF i;
    i = 0;
    while(i op this.size Signature: [TPH SBJ]()){
      TPH SBM v1;
      v1 = this.elementAt Signature: [TPH SBO, TPH SBP](i);
      TPH SBS v2;
      v2 = new java.util.Vector();
      TPH SBU j;
      j = 0;
      while(j op v1.size Signature: [TPH SBX]()){
        TPH SCA erg;
        erg = 0;
        TPH SCC k;
        k = 0;
        while(k op v1.size Signature: [TPH SCF]()){
          erg = erg op v1.elementAt Signature: [TPH SCI, TPH SCJ](k) op m.elementAt Signature: [TPH SCM, TPH SCN](k).elementAt Signature: [TPH SCQ, TPH SCR](j);
          k++;
        };
        v2.addElement Signature: [TPH SCZ, TPH SDA](erg);
        j++;
      };
      ret.addElement Signature: [TPH SDG, TPH SDH](v2);
      i++;
    };
    return ret;
  }

  Matrix(){
    super(());
    return;
  }

  Matrix(TPH SAF vv){
    super(());
    java.lang.Integer i;
    i = 0;
    while(i op vv.size Signature: [TPH SAI]()){
      this.add Signature: [TPH SAQ, TPH SAR](vv.elementAt Signature: [TPH SAM, TPH SAN](i));
      i = i op 1;
    };
    return;
  }

}