import java.util.*;
import java.lang.*;
import java.io.*;
interface Account
{
public void calculateInterest();
public double getInterest();
}
class SavingsAccount implements Account
{
public void calculateInterest() { }
public double getInterest() { return 6.5; }
public String getType
() { return "SavingsAccount"; } }
class LoanAccount implements Account
{
public void calculateInterest() { }
public double getInterest() { return 11.5; }
public String getType
() { return "LoanAccount"; } }
class InterestCalculation
{
public void getInterestRate(Account objAccount)
{
System.
out.
print ("Interest Rate for "+objAccount.
getType()+" is "); System.
out.
print (objAccount.
getInterest()); }
}
class IdeOne
{
public static void main
(String[] args
) {
InterestCalculation objIntCal = new InterestCalculation();
objIntCal.getInterestRate(new LoanAccount());
objIntCal.getInterestRate(new SavingsAccount());
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgogaW50ZXJmYWNlIEFjY291bnQgCnsKICAgIHB1YmxpYyB2b2lkIGNhbGN1bGF0ZUludGVyZXN0KCk7CiAgICBwdWJsaWMgZG91YmxlIGdldEludGVyZXN0KCk7IAogICAgcHVibGljIFN0cmluZyBnZXRUeXBlKCk7IAp9CgogY2xhc3MgU2F2aW5nc0FjY291bnQgaW1wbGVtZW50cyBBY2NvdW50CnsKCXB1YmxpYyB2b2lkIGNhbGN1bGF0ZUludGVyZXN0KCkgeyB9CglwdWJsaWMgZG91YmxlIGdldEludGVyZXN0KCkgeyByZXR1cm4gNi41OyB9CiAgICBwdWJsaWMgU3RyaW5nIGdldFR5cGUoKSB7IHJldHVybiAiU2F2aW5nc0FjY291bnQiOyB9IAp9CgpjbGFzcyBMb2FuQWNjb3VudCBpbXBsZW1lbnRzIEFjY291bnQKewoJcHVibGljIHZvaWQgY2FsY3VsYXRlSW50ZXJlc3QoKSB7IH0KCXB1YmxpYyBkb3VibGUgZ2V0SW50ZXJlc3QoKSB7IHJldHVybiAxMS41OyB9CiAgICBwdWJsaWMgU3RyaW5nIGdldFR5cGUoKSB7IHJldHVybiAiTG9hbkFjY291bnQiOyB9IAp9CgogY2xhc3MgSW50ZXJlc3RDYWxjdWxhdGlvbiAKewogICAgcHVibGljIHZvaWQgZ2V0SW50ZXJlc3RSYXRlKEFjY291bnQgb2JqQWNjb3VudCkKICAgIHsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50ICgiSW50ZXJlc3QgUmF0ZSBmb3IgIitvYmpBY2NvdW50LmdldFR5cGUoKSsiIGlzICIpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnQgKG9iakFjY291bnQuZ2V0SW50ZXJlc3QoKSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuICgiICUiKTsKICAgIH0KCn0KCiBjbGFzcyBJZGVPbmUgCnsKICAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSAKICAgICB7CiAgICAgICAgIEludGVyZXN0Q2FsY3VsYXRpb24gb2JqSW50Q2FsID0gbmV3IEludGVyZXN0Q2FsY3VsYXRpb24oKTsKICAgICAgICAgb2JqSW50Q2FsLmdldEludGVyZXN0UmF0ZShuZXcgTG9hbkFjY291bnQoKSk7CiAgICAgICAgIG9iakludENhbC5nZXRJbnRlcmVzdFJhdGUobmV3IFNhdmluZ3NBY2NvdW50KCkpOyAgICAgICAgCiAgICAgfQp9Cg==