package clockdriver;

/**
 *
 * @author
 */
public class ClockDriver {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Clock MyClock = new Clock("Thursday", 12,0); // Instantiate a clock object

	System.out.println(MyClock); // Should display: Thursday, 12:00 p.m.
        System.out.println(); // print blank line

        MyClock.advance(150); // advance time 150 minutes (2 hours 30 minutes)
	System.out.println(MyClock); // Should display: Thursday, 2:30 p.m.
        System.out.println();

        MyClock.advance(585); // advance time by 585 minutes (9 hours 45 minutes)
	System.out.println(MyClock); // Should display: Friday, 12:15 a.m.
        System.out.println();

        MyClock.advance(10080); // advance time by 10080 minutes (7 days)
	System.out.println(MyClock); // Should display: Friday, 12:15 a.m.
        System.out.println();

        MyClock.reverse(585); // reverse time by 585 minutes (9 hours 45 minutes)
	System.out.println(MyClock); // Should display: Thursday, 2:30 p.m.
        System.out.println();

        MyClock.reverse(17280); // reverse time by 17280 minutes (12 days)
	System.out.println(MyClock); // Should display: Saturday, 2:30 p.m.
        System.out.println();

    } // end of main

} // end of class ClockDriver
class Clock{
    /***************************************************************
     * Objects of this class represent time (in hours and minutes) *
     * The time data is stored in 24 hour (HHMM military format)   *
     ***************************************************************/
    private int day_of_week; // valid range of values is 1 thru' 7
    private int hours; // range of values is 0 thru' 23
    private int minutes; // range of values is 0 thru' 59

    public Clock(String S, int h, int m){
   
      
 
      day_of_week= Integer.parseInt(S);


      if(day_of_week==1){
          System.out.println("Monday");
        }
      else
          if(day_of_week==5){
              System.out.println("Thursday");
          }
    
    
    
        hours=0;
        minutes=0;
    }

    public void advance(int m){
        int totalminutes = (hours*60)+(minutes+m);
        day_of_week=totalminutes%8;
        hours = (totalminutes/60)%24;
        minutes=totalminutes%60;
    }

    public void reverse(int m){
	int totalminutes = (hours*60)-(minutes-m);
        day_of_week=totalminutes%8;
        hours = (totalminutes%24)/60;
        minutes=totalminutes%60;
    }

    @Override
    public String toString(){

        String S = + day_of_week


                + ", " +
                (hours>12? hours-12 : hours<1? 12 : hours) +
                ":" + (minutes<10? ("0"+minutes) : minutes) +
                (hours>=12? " pm" : " am");

        return (S);

          }
    }