#!/usr/bin/env python get_idx = lambda s, c, dv=-1: s.index( c ) if c in s else dv def split_br( s ): i = get_idx( s, '(' ) j = get_idx( s, ')' ) if i < 0 or j < 0 or j < i: return s h = s[ : i ] m = s[ i + 1 : j ] t = s[ j + 1 : ] r = split_br( t ) if r == t: r = [ r ] return [ h, [ m ] ] + r