#!/usr/bin/env python
import json
import sys
import re
data = json.load(sys.stdin)
jstr = json.dumps(data, indent=2, sort_keys=True)
jstr = re.sub(r'{\s*("Fn::GetAtt")\s*:\s*\[\s*("\S+")\s*,\s*("\S+")\s*\]\s*}', r'{ \1: [ \2, \3 ] }', jstr)
jstr = re.sub(r'{\s*("Fn::Select")\s*:\s*\[\s*("\d+")\s*,\s*({[^}]+})\s*]\s*}', r'{ \1: [ \2, \3 ] }', jstr)
jstr = re.sub(r'{\s*("Fn::GetAZs")\s*:\s*("\S*")\s*}', r'{ \1: \2 }', jstr)
jstr = re.sub(r'{\s*("Ref")\s*:\s*("\S+")\s*}', r'{ \1: \2 }', jstr)
jstr = re.sub(r'{\s*("Name"):\s*("\S+"),\s*("Value"):\s*("\S*")\s*}', r'{ \1: \2, \3: \4 }', jstr)
jstr = re.sub(r'{\s*("Key"):\s*("\S+"),\s*("Value"):\s*("\S*")\s*}', r'{ \1: \2, \3: \4 }', jstr)
jstr = re.sub(r'{\s*("Key"):\s*("\S+"),\s*("Value"):\s*({[^}]*})\s*}', r'{ \1: \2, \3: \4 }', jstr)
jstr = re.sub(r'\[\n\r?\s*([^\n]*)\n\r?\s*\](,?)', r'[ \1 ]\2', jstr)
jstr = re.sub(r'\s+$', r'', jstr, flags=re.MULTILINE)
jstr = re.sub(r'([^\n]*)\n\s*("\\n",)', r'\1\2', jstr, flags=re.MULTILINE)
sys.stdout.write(jstr)