#!/usr/bin/env /usr/bin/python2.4

import sys
import datetime
from time import strptime, strftime

def _getWeekDetails(_weekNo, _Year, _weekStart):
    rslt = []
    janOne = strptime('%s-01-01' % _Year, '%Y-%m-%d')
    dayOfFirstWeek = ((7-int((strftime("%u",janOne)))+ int(_weekStart)) % 7)
    if dayOfFirstWeek == 0:
        dayOfFirstWeek = 7
    dateOfFirstWeek = strptime('%s-01-%s' % (_Year, dayOfFirstWeek), '%Y-%m-%d')
    dayOne = datetime.datetime( dateOfFirstWeek.tm_year, dateOfFirstWeek.tm_mon, dateOfFirstWeek.tm_mday )
    daysToGo = 7*(int(_weekNo)-1)
    lastDay = daysToGo+6
    dayX = dayOne + datetime.timedelta(days = daysToGo)
    dayY = dayOne + datetime.timedelta(days = lastDay)
    resultDateX = strptime('%s-%s-%s' % (dayX.year, dayX.month, dayX.day), '%Y-%m-%d')
    resultDateY = strptime('%s-%s-%s' % (dayY.year, dayY.month, dayY.day), '%Y-%m-%d')
    rslt.append(resultDateX)
    rslt.append(resultDateY)
    return rslt

if __name__ == '__main__':
    passedArgs = sys.argv
    if not (passedArgs[1] == None or passedArgs[2] == None):

        #initiate start of week to Monday (sunday =1, monday =2, so on)
        startOfWeek = 2
        try :
            startOfWeek = passedArgs[3]
        except:
            startOfWeek = 2

        WeekData = _getWeekDetails(passedArgs[1], passedArgs[2], startOfWeek)
        print "Monday of Week %s: %s \n" % (passedArgs[1], strftime("%Y-%m-%d", WeekData[0]))
        print "Sunday of Week %s: %s \n" % (passedArgs[1], strftime("%Y-%m-%d", WeekData[1]))