6. (15分) Fibonacci numbers: Their recursive definitions are as follows: \( F_n=0 \) if \( n=0 \); \( F_n=1 \) if \( n=1 \); \( F_n=1 \) if \( n=2 \); \( F_n = 2F_{n-1} + F_{n-2} + F_{n-3} \) if \( n \ge 3 \). Design an \( O(\lg n) \)-time algorithm to compute \( F_n \).