package part1;

use 5.20.0;
use warnings;

use experimental qw/
  signatures
  postderef
  switch
  /;

use parent qw/ Exporter::Tiny /;

our @EXPORT = qw/ resolve /;

sub resolve($code) {
    my @row    = ( 0, 127 );
    my @column = ( 0, 7 );

    for ( split '', $code ) {
        when ('F') { $row[1] = $row[0] + int( ( $row[1] - $row[0] ) / 2 ) }
        when ('B') { $row[0] = $row[0] + 1 + int( ( $row[1] - $row[0] ) / 2 ) }
        when ('L') {
            $column[1] = $column[0] + int( ( $column[1] - $column[0] ) / 2 )
        }
        when ('R') {
            $column[0] = $column[0] + 1 +
              int( ( $column[1] - $column[0] ) / 2 )
        }

    }

    return 8 * $row[0] + $column[0];
}