#include <string>
#include <istream>
#include <sstream>
#include <iostream>

class Video 
{
	std::string title;
	std::string genre;
	int available;
	int holds;

public:
	Video(std::string title_, std::string genre_, int available_, int holds_) :
			title(title_), genre(genre_), available(available_), holds(holds_) {}
	Video() : available(-1), holds(-1) {}
	friend std::istream& operator >> (std::istream& is, Video& vid);
	bool read(std::istream & is, Video& dvd);
	void print();
};

std::istream& operator >> (std::istream& is, Video& vid)
{
	std::string line;
	std::string theTitle, theGenre, theAvail, theHolds;
	if (std::getline(is, line))
	{
		std::istringstream iss(line);
		std::getline(iss, theTitle, ',');
		std::getline(iss, theGenre, ',');
		std::getline(iss, theAvail, ',');
		std::getline(iss, theHolds, ',');
		vid = Video(theTitle, theGenre, std::stoi(theAvail), std::stoi(theHolds));
	}
	return is;
}

bool Video::read(std::istream & is, Video& dvd)
{
	if (is.good())
	{
		is >> dvd;
		return true;
	}
	return false;
}

void Video::print() {
	std::cout << "Video title: " << title << "\n" <<
		"Genre: " << genre << "\n" <<
		"Available: " << available << "\n" <<
		"Holds: " << holds << "\n";
}


int main()
{
	Video dvd[10];
	int i = 0;
	while (i < 10 && dvd[i].read(std::cin, dvd[i]))
	{
		dvd[i].print();
		++i;
	}
}

