import java.io.*;


public class sort1 {

  private static void test1() {
    fahrzeug dummy;
    fahrzeug[] feld=new fahrzeug[6];
    feld[0]= new fahrzeug(100,"audi");
    feld[1]= new pkw("rot",133,"vw");
    feld[2]= new lkw(12,80,"man");
    feld[3]= new pkw("blau",23,"audi");
    feld[4]= new lkw(17,166,"benz");
    feld[5]= new fahrzeug(66,"opel");
    int i,j;
    boolean bWeiter;
    do {
      bWeiter=false;
      for (i=0; i<5; i++) {
        if (feld[i].ps>feld[i+1].ps) {
          bWeiter=true;
          dummy=feld[i];
          feld[i]=feld[i+1];
          feld[i+1]=dummy;
        }
      }
    } while (bWeiter);
    for (i=0; i<6; i++) {
      feld[i].print();
    }

  }  // test1

  private static void test2() {
    fahrzeug[] feld=new fahrzeug[6];
    feld[0]= new fahrzeug(100,"audi");
    feld[1]= new pkw("rot",133,"vw");
    feld[2]= new lkw(12,80,"man");
    feld[3]= new pkw("blau",23,"audi");
    feld[4]= new lkw(17,166,"benz");
    feld[5]= new fahrzeug(66,"opel");

    sort2(feld);
    for (int i=0; i<6; i++) {
      feld[i].print();
    }

  }  // test2

  private static void sort2(fahrzeug [] feld){
    int i,j;
    boolean bWeiter;
    fahrzeug dummy;
    do {
      bWeiter=false;
      for (i=0; i<5; i++) {
        if (feld[i].ps>feld[i+1].ps) {
          bWeiter=true;
          dummy=feld[i];
          feld[i]=feld[i+1];
          feld[i+1]=dummy;
        }
      }
    } while (bWeiter);
  }

  private static void test3() {
    fahrzeug[] feld=new fahrzeug[6];
    feld[0]= new fahrzeug(100,"audi");
    feld[1]= new pkw("rot",133,"vw");
    feld[2]= new lkw(12,80,"man");
    feld[3]= new pkw("blau",23,"audi");
    feld[4]= new lkw(17,166,"benz");
    feld[5]= new fahrzeug(66,"opel");

    sort3(feld);
    for (int i=0; i<6; i++) {
      feld[i].print();
    }

  }  // test2

  private static void sort3(fahrzeug [] feld){
    int i,j;
    boolean bWeiter;
    fahrzeug dummy;
    do {
      bWeiter=false;
      for (i=0; i<5; i++) {
        if (feld[i].compare(feld[i+1])>0 ) {
          bWeiter=true;
          dummy=feld[i];
          feld[i]=feld[i+1];
          feld[i+1]=dummy;
        }
      }
    } while (bWeiter);
  }

  public static void main(String argv[]) {
    //test1();
    test2();
    pause();
  }  // main


   private static void pause() {
    try {
      System.in.read();
    }
    catch (IOException e) {
    }
  }  // pause

}

class fahrzeug {
  int ps;
  String kfz;

  public fahrzeug(int ps, String kfz) {
    this.ps= ps;
    this.kfz=kfz;
  }
  public void print() {
    System.out.println("PS: "+ps+"  kfz: "+kfz);
  }

  public int compare(fahrzeug anderesfahrzeug) {
    if (ps>anderesfahrzeug.ps)
      return +1;
    else
      if (ps<anderesfahrzeug.ps)
        return -1;
      else
        return 0;
  }  // compare
}

class pkw extends fahrzeug {
  String farbe;
  public pkw(String farbe, int ps, String kfz) {
    super(ps, kfz);
    this.farbe = farbe;
  }

  public void print() {
    System.out.println("PS: "+ps+"  kfz: "+kfz+"     farbe: "+farbe);
  }

}

class lkw extends fahrzeug {
  int ladevolumen;
  public lkw(int ladevolumen, int ps, String kfz) {
    super(ps, kfz);
    this.ladevolumen = ladevolumen;
  }
  public void print() {
    System.out.println("PS: "+ps+"  kfz: "+kfz+"   ladevolumen: "+ladevolumen);
  }
}


