class Publication {
	char title[80];
	float price;
public:
	void getData();
	void putData();
}

class Sales {
	float sales[3];
public:
	void getData();
	void putData();
}

class Book : private Publication, Sales {
	unsigned int pageCount;
public:
	void getData();
	void putData();
}

class Tape : private Publication, Sales {
	float playingTime;
public:
	void getData();
	void putData();
}

void Publication::getData() {
	cout << "Title: ";
	cin >> title;
	cout << "\nPrice: ";
	cin >> price;
}

void Publication::putData() {
	cout << "Title: \"" << title << "\" Price: $" << price;
}

void Sales::getData() {
	cout << "\nSales last month: ";
	cin >> sales[0];
	cout << "\nSales month before last: ";
	cin >> sales[1];
	cout << "\nSales 2 months before last: ";
	cin >> sales[2];
}

void Sales::putData() {
	cout << "Sales last 3 months: " << sales[0] << ' ' << sales[1] << ' ' << sales[2];
}

void Book::getData() {
	Publication::getData();
	cout << "\nPage Count: ";
	cin >> pageCount;
	Sales::getData();
	cout << '\n';
}

void Book::putData() {
	cout << "Book ";
	Publication::putData();
	cout << " Page Count: " << pageCount << '\n\t';
	Sales::putData();
	cout << '\n';
}

void Tape::getData() {
	Publication::getData();
	cout << "\nPlaying Time: ";
	cin >> playingTime;
	Sales::getData();
	cout << '\n';
}

void Tape::putData() {
	cout << "Tape ";
	Publication::putData();
	cout << " Playing Time: " << playingTime << '\n\t';
	Sales::putData();
	cout << '\n';
}

int main() {
	Book b;
	Tape t;
	b.getData();
	t.getData();
	b.putData();
	t.putData();
	return 1;
}