abstract class Employee()
{
def ComputeSal();
}
class Worker(a:Int) extends Employee()
{
var S:Int=a;
var ans:Int=300;
def ComputeSal()
{
print("Salary of Worker WeekWise:"+((S*ans)*7)+"\n");
}
}
class Manager(b:Int) extends Employee()
{
var R:Int=b;
var ans:Double=10000;
def ComputeSal()
{
print("Salary of Manager MonthWise:"+(ans+(R*300))+"\n");
}
}
object EmpSal
{
def main(a:Array[String])
{
val ob1=new Worker(4);
val ob2=new Manager(12);
while(true)
{
println("MENU"+"\n"+"1:Worker"+"\n"+"2:Manager"+"\n"+"3:Exit")
print("Enter the Choise:");
var n1:Int=readInt();
n1 match{
case 1=>ob1.ComputeSal();
case 2=>ob2.ComputeSal();
case 3=>System.exit(0);
}
}
}
}