编辑代码

# coding:utf-8
#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
# coding:utf-8
#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
import functools
import sys
from collections import Counter, defaultdict
import copy
from itertools import permutations
import re
import math
import sys
 
k = int(input())
n = int(input())
input_words = []
for i in range(n):
    input_words.append(input())
target = []
target.append(input_words[k])
input_words.pop(k)
 
def self_comp(input_data):
    return sorted(input_data,\
            key=lambda x: (-len(x), [ord(i) for i in x]),reverse=False)
 
word_front = {}
i = 0
while(True):
    if i>=len(input_words):
        break;
    else:
        if input_words[i][0] not in word_front:
            word_front[input_words[i][0]] = []
            word_front[input_words[i][0]].append(input_words[i])
        else:
            word_front[input_words[i][0]].append(input_words[i])
    i+=1
for key in word_front:
    word_front[key] = self_comp(word_front[key])
 
while(True):
    if word_front.get(target[-1][-1]) is not None:
        target.append(word_front[target[-1][-1]].pop(0))
    else:
        break
 
output_str= ""
for res in target:
    output_str += res
print(output_str)