#!/bin/sh
################################################################################
# pyllyukko@maimed.org                                                         #
################################################################################
declare -r  MATRIX="0123456789ABCDEFHJKLMNPRSTUVWXY"
declare -ar SEX=(woman man)
declare -a  DAYS=(31 28 31 30 31 30 31 31 30 31 30 31)
################################################################################
if [ ${#} -ne 1 -o ${#1} -ne 10 ] || \
   [[ ! "${1}" =~ "[0-3][0-9][01][0-9][0-9][0-9][+-aA][0-9][0-9][0-9]" ]] || \
   [ ${1:2:2} -gt 12 -o ${1:2:2} -lt 1 ]
then
  exit 1
fi
set -- ${1/[-Aa+]/} $[${1:9:1}%2] `case ${1:6:1} in
  a|A) echo -n 11111010000 ;;
  +) echo -n 11100001000   ;;
  -) echo -n 11101101100   ;;
esac`
[ $[(${1:4:2}+$((2#${3})))%4] -eq 0 -a \
  $[(${1:4:2}+$((2#${3})))%100] -ne 0 -o \
  $[(${1:4:2}+$((2#${3})))%400] -eq 0 \
] && let DAYS[1]++
[ ${1:0:2} -gt ${DAYS[$[${1:2:2}-1]]-0} -o ${1:0:2} -lt 1 ] && {
  exit 3
}
echo "${MATRIX:$[${1#0}%31]:1}, ${SEX[${2}]}"
exit 0
