Write a program or a script that returns the last Sundays of each month of a given year. The year may be given through any simple input method in your language (command line, std in, etc).

Example of an expected output:

./last_sundays 2013
2013-01-27
2013-02-24
2013-03-31
2013-04-28
2013-05-26
2013-06-30
2013-07-28
2013-08-25
2013-09-29
2013-10-27
2013-11-24
2013-12-29


Related tasks
 Day of the week
 Five weekends
 Last Friday of each month


input "What year to calculate (yyyy) : ";year
print "Last Sundays in ";year;" are:" 
dim month(12)
mo$ = "4 0 0 3 5 1 3 6 2 4 0 2"
mon$ = "31 28 31 30 31 30 31 31 30 31 30 31"
 
if year < 2100 then leap = year - 1900 else leap = year - 1904
m = ((year-1900) mod 7) + int(leap/4) mod 7
for n = 1 to 12
    month(n) = (val(word$(mo$,n)) + m) mod 7
    month(n) = (val(word$(mo$,n)) + m) mod 7
next
for n = 1 to 12
    for i = (val(word$(mon$,n)) - 6) to val(word$(mon$,n))
        x = (month(n) + i) mod 7 
        if x = 4 then print year ; "-";right$("0"+str$(n),2);"-" ; i
    next
next