# your code goes here
import re

p = "(%?)([abc]+)([123]+)(?P<end>[%#])"
s = "%aaba2321%"
mo = re.match(p, s)

named = dict()
unnamed = dict()
all = mo.groups()

for k,v in mo.groupdict().items():
    named[mo.span(k)] = v
for i,v in enumerate(all):
    sp = mo.span(i + 1)
    if sp not in named:
        unnamed[sp] = v
        
print(named)
print(unnamed)