import java.util.Objects;

public class Tort implements Comparable<Tort> {

    private int szamlalo;
    private int nevezo;
    
    public Tort(int szamlalo, int nevezo) {
        this.szamlalo = szamlalo;
        this.nevezo = nevezo;
    }
    
    public int getSzamlalo() {
        return szamlalo;
    }
    
    public void setSzamlalo(int szamlalo) {
        this.szamlalo = szamlalo;
    }
    
    public int getNevezo() {
        return nevezo;
    }
    
    public void setNevezo(int nevezo) {
        this.nevezo = nevezo;
    }
    
    @Override
    public String toString() {
        return szamlalo + "/" + nevezo;
    }
    
    @Override
    public int hashCode() {
        return szamlalo / nevezo;
    }
    
    public static int lnko(int a, int b) {
        a = Math.abs(a);
        b = Math.abs(b);
        
        while( a!= b ) {
            if( a < b )
                b = b-a;
            else
                a = a-b;
        }
        
        return a;
    }
    
    public Tort egyszerusit() {
        int lnko = Tort.lnko(szamlalo, nevezo);
        
        int ujSzamlalo = szamlalo / lnko;
        int ujNevezo = nevezo / lnko;
        
        if( ujSzamlalo < 0 && ujNevezo < 0 || ujSzamlalo >= 0 && ujNevezo < 0 ) {
            ujSzamlalo = ujSzamlalo * (-1);
            ujNevezo = ujNevezo * (-1);
        }
        
        return new Tort(ujSzamlalo, ujNevezo);
    }   
    
    @Override
    public boolean equals(Object obj) {
        if (this == obj) return true;
        if (obj == null) return false;
        if (this.getClass() != obj.getClass()) return false;
        Tort other = (Tort) obj;
        
        Tort bal = this.egyszerusit();
        Tort jobb = other.egyszerusit();
        
        return (bal.szamlalo == jobb.szamlalo && bal.nevezo == jobb.nevezo);
    }
    
    @Override
    public int compareTo(Tort other) {
        Tort bal = this.egyszerusit();
        Tort jobb = other.egyszerusit();
        
        return (int)(bal.szamlalo * jobb.nevezo - jobb.szamlalo * bal.nevezo);
    }
}