"""
466 名前：デフォルトの名無しさん[sage] 投稿日：2014/07/10(木) 02:35:06.94 ID:W+p4qrtw
お題
昇順の数列A[a0,a1,..,an]とAの要素amを一つ指定する
Aの要素からなる数列Bを与えて[am,am+1,..,an,a0,a1,..,am-1]の順番で整列させよう
例
入: A = [2,3,5,7,9], a = 2, B = [9,2,5]
出: [2,5,9]
入: A = [2,3,5,7,9], a = 9, B = [9,2,5]
出: [9,2,5]
入: A = [2,3,5,7,9], a = 5, B = [9,2,5]
出: [5,9,2]
入: A = [2,3,5,7,9], a = 3, B = [9,2,5,5,2]
出: [5,5,9,2,2]
"""

def f(A,a,B):
    ia = A.index(a)
    SA = A[ia:] + A[:ia]
    SB = sorted(B, key=lambda b: SA.index(b))
    print '-'*3
    print "入: A = {}, a = {}, B = {}".format(A,a,B)
    print "出: {}  (A' = {})".format(SB,SA)

f(A = [2,3,5,7,9], a = 2, B = [9,2,5])
f(A = [2,3,5,7,9], a = 9, B = [9,2,5])
f(A = [2,3,5,7,9], a = 5, B = [9,2,5])
f(A = [2,3,5,7,9], a = 3, B = [9,2,5,5,2])
