일단 [eqn: A _{n}]의 정의를 보면, 귀납적 정의이고, [eqn: A _{n}]은 [eqn: f] 또는 [eqn: g]를 [eqn: n]번 합성한 함수의 집합임을 알 수 있습니다. 그래서 [eqn: (f CIRC g CIRC g CIRC f CIRC g)(x)]가 [eqn: A _{5}]의 원소인 거구요.

미분을 생략하고 그래프를 바로 그리겠습니다.

순서대로 [eqn: y=f(x)]와 [eqn: y=g(x)]의 그래프입니다.

당연히 [eqn: p(1)=1]이고, [eqn: p(2)]를 구하기 위해 [eqn: A _{2}]의 원소를 나열해 봅시다.

[eqn: f CIRC f], [eqn: f` CIRC g], [eqn: g CIRC f], [eqn: g CIRC g]가 있겠군요. [eqn: f CIRC f]는 당연히 미분 가능할 테고,

먼저 [eqn: f` CIRC g]를 봅시다. [eqn: g(x)= {cases{pile{-2x+4#4}&pile{(x<0)#(0<=x<=4)}#2x-4&(x>4)}}]이고, 그러면

[eqn: f(g(x))= {cases{pile{f(-2x+4)#f(4)}&pile{(x<0)#(0<=x<=4)}#f(2x-4)&(x>4)}}]에서, [eqn: [0,4]]에선 상수함수인데, [eqn: x=4]에서의 우미분계수가 [eqn: {2} over {3} e ^{2}]군요. 오잉? 미분 불가능하겠네요.([eqn: x=0]에서도 마찬가지!)

다음은 [eqn: g CIRC f]. [eqn: f(x)=4]의 실근은 그래프를 보아하니 2개가 나오겠군요. 순서대로 [eqn: alpha], [eqn: beta`]라고 해보죠. [eqn: [alpha,`beta]]에서는 [eqn: f(x)<=4]이고, 그 외에서는 [eqn: f(x)>4]네요.(그래프!)

[eqn: g(f(x))= {cases{2f(x)-4&(x<alpha`or`x>beta)#4&(alpha<x<beta)}}]네요. 그런데 [eqn: x=beta]에서 우미분계수는 0은 아닌게 확실하고, 좌미분계수는 0이군요. 또 미분 불가능.

[eqn: g(g(x))= {cases{pile{-4x+4#4}&pile{(x<0)#(0<=x<=4)}#4x-12&(x>=4)}}]가 나오니, 또 미분 불가능하겠군요.

그럼 미분가능한 함수는 [eqn: f CIRC f] 뿐이겠군요. [eqn: p(2)=1]이네요.

[eqn: g CIRC g]의 그래프를 보면 알 수 있겠지만, 결국

이 그래프의 양쪽 기울기가 변화하는 정도밖엔 안 되겠죠. 거를 수 있는 함수가 생겼습니다.

조금 직관적이지만, 원래 미분 불가능했던 부분이 미분 가능하려면 가능한 방법은 미분계수를 0으로 만드는 것인데, 미분 불가능한 함수에 [eqn: g`]를 합성할 경우, [eqn: g`]는 상수함수이거나, 일차함수인데, 이러면, 한쪽은 상수함수, 다른 한쪽은 미분계수가 0이 되지 않는 상황이죠, 즉, 미분 불가능한 함수와 [eqn: g`]의 합성은 여전히 미분 불가능한 함수입니다.

그럼 [eqn: A_3]에서 체크할 함수는 [eqn: g CIRC f CIRC f], [eqn: f CIRC f CIRC f], [eqn: f CIRC g CIRC f], [eqn: f CIRC f CIRC g`], [eqn: f CIRC g CIRC g]의 5개가 되겠군요. 그런데, [eqn: f CIRC g CIRC f], [eqn: f CIRC g CIRC g]의 경우는 [eqn: g CIRC f], [eqn: g CIRC g]이 상수함수(값 4)인 부분과 일차함수인 부분으로 나눠지는데, 이러면 [eqn: f prime (4) != `0]인데서, 좌미분계수와 우미분계수가 0과 0이 아닌 경우로 나뉨을 알 수 있고, 그럼 미분 불가능하겠군요.

...잠깐. 그럼 상수함수인 부분이 존재하는 함수는 전부 미분 불가능하겠군요.

그럼 [eqn: f CIRC g CIRC f]도 미분 불가능할거구요.

[eqn: f CIRC f CIRC f]는 당연한 거고,

[eqn: g CIRC f CIRC f]의 미분가능성을 체크해야 하니, [eqn: f(f(x))=4]의 실근을 생각해야 하겠죠,

일단 최솟값을 먼저 생각해봅시다. 미분까지 갈 것도 없이, [eqn: f(x) GEQ3]이 성립하고, [eqn: f(x)]는 [eqn: [2,inf]]에서 쭉 증가하니 [eqn: f(f(x)) GEQf(3)]이 성립하겠네요. [eqn: f(3)=12- {8} over {3} e]인데, [eqn: e`]의 범위가 주어져 있군요. 한번......?! [eqn: f(3)>4]이니 [eqn: f(f(x))=4]의 실근이 없군요! 그 말인 즉슨, [eqn: g CIRC f CIRC f]에서는 무조건 [eqn: g(x)=2x-4]라는 것이겠군요!

[eqn: p(3)=2]네요!

[eqn: f CIRC f]로 이미 합성된 경우, 아무렇게나 합성해도 [eqn: g(x)=2x-4]라는 뜻이니, 계속 미분 가능하겠군요!

그럼 [eqn: A _{n}][eqn: (n>=3)]에서 미분 가능성을 결정하는 요인은 마지막에 함성된 함수가 [eqn: f CIRC f]인가? 라는 것이죠. 앞의 함수는 상관없이!

[eqn: A _{n}][eqn: (n>=3)]에서 미분 가능한 함수의 수는 [eqn: n]개의 문자로 된 문자열 [eqn: BOX{} BOX{} BOX{} BOX{} CDOTS ff]에 [eqn: f] 또는 [eqn: g`]를 집어넣는 수와 같죠. 그러니 [eqn: p(n)=2 ^{n-2} (n>=3)]!

[eqn: p(n)= {cases{1&(n<=2)#2 ^{n-2}&(n>2)}}]이니까, 답은 128!

실은, 미분 가능성은 직관이 강하면 나름 쉽게 나오지만, 그 이상으로 뜬금없는 합성함수 해석이 이 문제가 어려운 이유로 볼 수 있겠네요.