#include<iostream>
#include<string>
using namespace std;
class Employee {
    protected:
    string name;
    float salary;
    public:
    Employee(string n, float s) : name(n), salary(s) {}
    virtual void showDetails() {
        cout << "Employee Details: \nName: " << name << "\nSalary: " << salary << endl;
        }
};
class Manager : public Employee {
    string department;
    public:
    manager(string n, float s, string d) : Employee(n,s), department(d) {}
    void showDetails() override {
        cout << "\nManager Details: \nName: " << name;
        cout << "\nSalary: " << salary;
        cout << "\nDepartment: " << department << endl;
    }
};
int main() {
    string empName, mgrName, mgrDept;
    float empSalary, mgrSalary;
    
    cin >> empName >> empSalary >> mgrName >> mgrSalary >> mgrDept;
    
    if (empSalary <= 0 || mgrSalary <= 0){
        cout << "Invalid input";
        return 0;
    }
    employee e(empName, empSalary);
    Manager m(mgrName, mgrSalary, mgrDept);
    
    e.showDetails();
    e.showDetails();
    
    return 0;
}