using System.Collections.Generic;
public static void Main(string[] args)
BusManagement manager=new BusManagement();
int n=Convert.ToInt32(Console.ReadLine());
int number=Convert.ToInt32(Console.ReadLine());
string state=Console.ReadLine();
string type=Console.ReadLine();
int price=Convert.ToInt32(Console.ReadLine());
manager.buses.Add(new Bus(number,state,type,price));
int choice=Convert.ToInt32(Console.ReadLine());
string sstate=Console.ReadLine();
List<Bus> list=manager.SameStateBuses(sstate);
Console.WriteLine("No bus found with given state");
Console.WriteLine("{0}:{1},{2}",p.Number,p.Type,p.Price);
int discount=Convert.ToInt32(Console.ReadLine());
List<Bus> temp=manager.FindDiscountBuses(discount);
if(c.Type.ToLower()=="Public".ToLower())
c.Price=(c.Price-(c.Price*(discount+5)/100));
if(c.Type.ToLower()=="Private".ToLower())
c.Price=(c.Price-(c.Price*discount/100));
Console.WriteLine("{0}:{1},{2}",q.Number,q.Type,q.Price);
public int Number { get; set; }
public string State { get; set; }
public string Type { get; set; }
public int Price { get; set; }
public Bus(int number, string state,string type,int price)
public List<Bus> buses=new List<Bus>();
public List<Bus> SameStateBuses(string sstate)
List<Bus> res=new List<Bus>();
res=buses.Where(x => x.State.ToUpper()==sstate.ToUpper()).OrderBy(a=>a.Number).ToList();
public List<Bus> FindDiscountBuses(int ddiscount)
List<Bus> result=new List<Bus>();
result=buses.OrderBy(a=>a.Number).ToList();