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


InputBox, Year, , Enter a year., , 300, 135
Date := Year . "0101"
 
while SubStr(Date, 1, 4) = Year {
    FormatTime, WD, % Date, WDay
    if (WD = 1)
        MM := LTrim(SubStr(Date, 5, 2), "0"), Day%MM% := SubStr(Date, 7, 2)
    Date += 1, Days
}
 
Gui, Font, S10, Courier New
Gui, Add, Text, , % "Last Sundays of " Year ":`n---------------------"
 
Loop, 12 {
    FormatTime, Month, % Year (A_Index > 9 ? "" : "0") A_Index, MMMM
    Gui, Add, Text, y+1, % Month (StrLen(Month) > 7 ? "" : "`t") "`t" Day%A_Index%
}
 
Gui, Show
return