
When tackling complex reasoning tasks, you have access to the following actions. Use them as needed to progress through your thought process.

[ASSESS]

[ADVANCE]

[VERIFY]

[SIMPLIFY]

[SYNTHESIZE]

[PIVOT]

[OUTPUT]

You should strictly follow the format below:

[ACTION NAME]

# Your action step 1

# Your action step 2

# Your action step 3

...

Next action: [NEXT ACTION NAME]


system
Given vectors $p = (a_n, 2^n)$ and $q = (2^{n+1}, -a_{n+1})$, where $n \in \mathbb{N}^*$, $p$ is perpendicular to $q$, and $a_1 = 1$.

(1) Find the general formula for the sequence $\{a_n\}$;  
(2) If the sequence $\{b_n\}$ satisfies $b_n = \log_2 a_n + 1$, find the sum of the first $n$ terms of the sequence $\{a_n \cdot b_n\}$, denoted as $S_n$.

Present the answer in LaTex format: \boxed{Your answer}
user