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


 
Pharo Smalltalk
 
[ :yr | | firstDay firstSunday |
  firstDay := Date year: yr month: 1 day: 1.
  firstSunday := firstDay addDays: (1 - firstDay dayOfWeek).
    (0 to: 53) 
      collect: [ :each | firstSunday addDays: (each * 7) ]
      thenSelect: [ :each | 
        (((Date daysInMonth: each monthIndex forYear: yr) - each dayOfMonth) <= 6) and: [ each year = yr ] ] ]
 