A company decides that whenever Xmas falls on a Sunday they will give their workers all extra paid holidays so that, together with any public holidays, workers will not have to work the following week (between the 25th of December and the first of January).



Task

In what years between 2008 and 2121 will the 25th of December be a Sunday?

Using any standard date handling libraries of your programming language;
compare the dates calculated with the output of other languages to discover any anomalies in the handling of dates which may be due to, for example, overflow in types used to represent dates/times similar to   y2k   type problems.




function xmasSunday startDate endDate
    convert the long date to dateitems
    put it into xmasDay
    put 12 into item 2 of xmasDay
    put 25 into item 3 of xmasDay
    repeat with i = startDate to endDate
        put i into item 1 of xmasDay
        convert xmasDay to dateItems
        if item 7 of xmasDay is 1 then put i & comma after xmasYear
    end repeat
    if the last char of xmasYear is comma then delete the last char of xmasYear
    return xmasYear
end xmasSunday