import java.util.Map;

enum Symbol {
    ROCK,
    PAPER,
    SCISSORS;

    private static final Map<Symbol, Symbol> ASSOCIATIONS = Map.of(
        ROCK, SCISSORS,
        SCISSORS, PAPER,
        PAPER, ROCK
    );

    public static void main(String[] args) {
        System.out.println("Rock against scissors: " + ROCK.against(SCISSORS));
        System.out.println("Rock against paper: " + ROCK.against(PAPER));
        System.out.println("Rock against rock: " + ROCK.against(ROCK));
    }

    public Result against(Symbol other) {
        if (ASSOCIATIONS.get(this) == other) {
            return Result.WIN;
        }
        else if (ASSOCIATIONS.get(other) == this) {
            return Result.LOSE;
        }
        else {
            return Result.TIE;
        }
    }
}

enum Result {
    WIN, LOSE, TIE;
}
