I'm having trouble with my istream overload (I think it's the istream). At the 2nd cin it doesn't reconize the getline for some reason. Any ideas?

Also, is this the proper way to 'code tag' (I was chastised before is all).

Code:
istream& operator>>(istream& input, markets& m)
{
	cout<<"City name";
	input.getline (m.city,20);:confused:
	cout<<"Buy price of sheep"<<endl;
	input>>m.shp_buy;
	cout<<"Sell price of sheep"<<endl;
	input>>m.shp_sell;
	cout<<"Maxium sheep to trade"<<endl;
	input>>m.shp_max;
	return(input);
};

ostream& operator<<(ostream& oput, markets& m)
{
	oput<<m.city<<tab<<m.shp_buy<<tab<<m.shp_sell<<m.shp_max<<endl;
	return(oput);
};

main ()
{
	markets city1;
	markets city2;
	markets city3;

	cout<<endl<<endl<<endl<<endl<<endl;
	cin>>city1;
	cin>>city2;:confused:
	cin>>city3;
	cout<<endl<<endl<<endl;
	cout<<"City"<<tab<<"Sheep Sell"<<tab<<"Sheep Buy"<<tab<<"Maxium Trade"<<endl;
	cout<<city1;
	cout<<city2;
	cout<<city3;
	return (0);
}