import sys
import re

include = sys.argv[1]
msg_basename = sys.argv[2]
count = 1

m = re.search(r'(.*\D)(\d+)$', sys.argv[2])
if m:
  msg_basename = m.group(1)
  count = int(m.group(2))

print('''
#include "{include}"

char buf[1];

int main() {{
'''.format(include=include))

def RefMessage(name):
  print('''
  {{
    {name} proto;
    proto.ParseFromArray(buf, 0);
    proto.SerializePartialToArray(&buf[0], 0);
  }}
  '''.format(name=name))

RefMessage(msg_basename)

for i in range(2, count + 1):
  RefMessage(msg_basename + str(i))

print('''
  return 0;
}''')