#!/bin/bash h=0 d=0 aim=0 while read -r cmd arg; do case $cmd in forward) ((h += arg, d += aim*arg));; down) ((aim += arg));; up) ((aim -= arg));; esac done echo "$((h * d))"