
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
The entire graph of the function $g(x)$ is shown below ($g$ is only defined when $x$ is between $-5$ and $5$ inclusive). How many values of $x$ satisfy $g(g(x)) = 3$?

[asy]
import graph; size(9cm);

real lsf=0.5;

pen dps=linewidth(0.7)+fontsize(10);

defaultpen(dps); pen ds=black;

real xmin=-5.5,xmax=5.5,ymin=-0.5,ymax=5.5;

Label laxis; laxis.p=fontsize(10);

xaxis("$x$",xmin,xmax,defaultpen+black,Ticks(laxis,Step=1.0,Size=2,OmitTick(0)),Arrows(6),above=true);
yaxis("$y$",ymin,ymax,defaultpen+black,Ticks(laxis,Step=1.0,Size=2,OmitTick(0)),Arrows(6),above=true);

real g(real x) { if(x < -3) return -.5*x^2 + 3; else if(x < 2) return 1; else return .5*x^2 - 1.5*x + 3; }
draw(graph(g,-5,-3));
draw((-3,1)--(2,1));
draw(graph(g,2,5));

label("$g(x)$",(-4,5),E);

dot("$(-5,3)$", (-5,3), NW);
dot("$(-3,1)$", (-3,1), SW);
dot("$(2,1)$", (2,1), S);
dot("$(5,3)$", (5,3), NE);

//clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle);
[/asy]

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