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


#!/usr/bin/env rebol
 
last-sundays-of-year: function [
    "Return series of last sunday (date!) for each month of the year"
    year [integer!] "which year?"
  ][
    d: to-date reduce [1 1 year]            ; start with first day of year
    collect [
        repeat month 12 [
            d/month: month + 1              ; move to start of next month
            keep d - d/weekday              ; calculate last sunday & keep
        ]
    ]
]
 
foreach sunday last-sundays-of-year to-integer system/script/args [print sunday]
 