import java.util.*;
import java.lang.*;
import java.io.*;
abstract class Tier{
abstract double map(double x);
}
class RateTier extends Tier{
double map(double x){
return 3.0 * x;
}
}
class DivTier extends Tier{
double map(double x){
return x / 2.0;
}
}
class Ideone{
{
RateTier rt = new RateTier();
Tier t = rt;
double result = t.map(5.0);
System.
out.
println("RateTier: t.map()="+result
); }
{
DivTier dt = new DivTier();
Tier t = dt;
double result = t.map(5.0);
System.
out.
println("DivTier: t.map()="+result
); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgphYnN0cmFjdCBjbGFzcyBUaWVyewoJYWJzdHJhY3QgZG91YmxlIG1hcChkb3VibGUgeCk7Cn0KCmNsYXNzIFJhdGVUaWVyIGV4dGVuZHMgVGllcnsKCWRvdWJsZSBtYXAoZG91YmxlIHgpewoJCXJldHVybiAzLjAgKiB4OwoJfQp9CgpjbGFzcyBEaXZUaWVyIGV4dGVuZHMgVGllcnsKCWRvdWJsZSBtYXAoZG91YmxlIHgpewoJCXJldHVybiB4IC8gMi4wOwoJfQp9CgpjbGFzcyBJZGVvbmV7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb257CgkJewoJCQlSYXRlVGllciBydCA9IG5ldyBSYXRlVGllcigpOwoJCQlUaWVyIHQgPSBydDsKCQkJZG91YmxlIHJlc3VsdCA9IHQubWFwKDUuMCk7CgkJCVN5c3RlbS5vdXQucHJpbnRsbigiUmF0ZVRpZXI6IHQubWFwKCk9IityZXN1bHQpOwoJCX0KCQkKCQl7CgkJCURpdlRpZXIgZHQgPSBuZXcgRGl2VGllcigpOwoJCQlUaWVyIHQgPSBkdDsKCQkJZG91YmxlIHJlc3VsdCA9IHQubWFwKDUuMCk7CgkJCVN5c3RlbS5vdXQucHJpbnRsbigiRGl2VGllcjogdC5tYXAoKT0iK3Jlc3VsdCk7CgkJfQoJfQp9