using System.Collections;
using System.Collections.Generic;
public static void Main()
int n=Convert.ToInt32(Console.ReadLine());
string name=Console.ReadLine();
string company=Console.ReadLine();
double rating=Convert.ToDouble(Console.ReadLine());
int price=Convert.ToInt32(Console.ReadLine());
var vehi=new Magazine(name,company,rating,price);
int ch=Convert.ToInt32(Console.ReadLine());
List <Magazine> temp=Management.MaxRating();
foreach(Magazine p in temp)
Console.WriteLine("{0} : {1}",p.name,p.rating);
string a=Console.ReadLine();
List <Magazine> temp2=Management.method2(a);
Console.WriteLine("No magazine found");
foreach(Magazine p in temp2)
Console.WriteLine("{0}",p.name);
public static class Management
public static List<Magazine> nl2=new List<Magazine>();
public static void Add(Magazine p)
public static List<Magazine> MaxRating()
double mx = double.MinValue;
List<Magazine> cp1=new List<Magazine>();
foreach (Magazine p in nl2)
foreach (Magazine p in nl2)
public static List<Magazine> method2(string c)
List<Magazine> cp2=new List<Magazine>();
foreach (Magazine p in nl2.FindAll(s=>s.company.ToUpper().Equals(c.ToUpper())))
cp2 = cp2.OrderBy(n => n.name).ToList();
public string name{get;set;}
public string company{get;set;}
public double rating{get;set;}
public int price{get;set;}
public Magazine(string name,string company,double rating,int price)