#!/bin/bash
function length() {
    case $1 in
	1|3|5|7|8|10|12)	echo 31;;
	4|6|9|11)		echo 30;;
	2)			if [ $[$YEAR%100] -eq 0 ]; then
				    if [ $[$YEAR%400] -eq 0 ]; then
					echo 29
				    else
					echo 28
				    fi
				else
				    if [ $[$YEAR%4] -eq 0 ]; then
					echo 29
				    else
					echo 28
				    fi
				fi;;
    esac
}
for PARM do
    DS=`grep '^1 ' < $PARM | tr -s ' ' | cut -d ' ' -f 4 | sort -n | tail -1`
    DAY=`echo $DS | cut -d . -f 1`
    YEAR=19`echo $DAY | cut -b 1-2`
    if [ $YEAR -lt 1970 ]; then
	YEAR=$[$YEAR+100]
    fi
    DAY=$[1`echo $DAY | cut -b 3-5`-1000]
    MONTH=1
    while [ $DAY -gt `length $MONTH $YEAR` ]; do
	DAY=$[$DAY-`length $MONTH $YEAR`]
	MONTH=$[$MONTH+1]
	if [ $MONTH -eq 13 ]; then
	    MONTH=1
	    YEAR=$[$YEAR+1]
	fi
    done
    TIME=0.`echo $DS | cut -d . -f 2`
    SECOND=`echo $TIME 86400*0.5+p | dc | cut -d . -f 1`
    MINUTE=$[$SECOND/60]
    SECOND=$[$SECOND%60]
    HOUR=$[$MINUTE/60]
    MINUTE=$[$MINUTE%60]
    touch -t `printf '%02u%02u%02u%02u%04u.%02u' $MONTH $DAY $HOUR $MINUTE $YEAR $SECOND` $PARM
    printf '%02u/%02u/%04u %02u:%02u:%02u => %s\n' $DAY $MONTH $YEAR $HOUR $MINUTE $SECOND $PARM
done
