state == 0 && /^-A/ {state=1; chain=$2; counter=1; printf "\n"} state == 1 && $2 != chain {chain=$2; counter=1; printf "\n"} !/^-A/ {state=0} state == 1 {printf "[%03d] %s\n", counter++, $0} state == 0 {print}
state == 0 && /^-A/ {state=1; chain=$2; counter=1; printf "\n"} state == 1 && $2 != chain {chain=$2; counter=1; printf "\n"} !/^-A/ {state=0} state == 1 {printf "[%03d] %s\n", counter++, $0} state == 0 {print}