#!/usr/bin/env perl
use strict;
use warnings;

chomp(my $string = <>);

my $bracketed;
$bracketed = qr{
                   (?:
                       (?> [^{}]+ )
                   |
                       \{(??{ $bracketed })\}
                   )*
           }x;

$string =~ s/\\matrix{($bracketed)}/\\begin{matrix}$1\\end{matrix}/g;

my $re = qr{(\{$bracketed\}) \s* \\over \s* (\{$bracketed\})}x;

$string =~ s/$re/\\frac$1$2/ while $string =~ /$re/;

print "$string\n";
