ackermann awesome function