W2FzeV0KaW1wb3J0IGdyYXBoOwoKc2l6ZSgyMDApOwpkZWZhdWx0cGVuKGxpbmV3aWR0aCgwLjcpKTsKCnJlYWwgZihyZWFsIHgpIHsKcmV0dXJuIHNpbih4KTsKfQoKZHJhdyhncmFwaChmLC0ycGksMnBpLG49MTUwLGpvaW49b3BlcmF0b3IgLi4pLHJlZCk7CmRyYXcoZ3JhcGgoZiwtMnBpK3BpLzQsMnBpK3BpLzQsbj0xNTAsam9pbj1vcGVyYXRvciAuLiksYmx1ZSk7CmRyYXcoQ2lyY2xlKCgwLDApLDEpKTsKZHJhdyhDaXJjbGUoKDEsMCksMSkpOwpkcmF3KCgtMS4yLDApLS0oMS4yLDApKTsKZHJhdygoMCwtMS4yKS0tKDAsMS4yKSk7CmRyYXcoKDAuNSwwLjgpLS0oMC41LC0wLjgpKTsKZHJhdygoMC44LDAuNSktLSgtMC44LDAuNSkpOwpsYWJlbCgmcXVvdDsxJnF1b3Q7LCAoMS4yLDApLCBFKTsKbGFiZWwoJnF1b3Q7MiZxdW90OywgKC0xLjIsMCksIFcpOwpsYWJlbCgmcXVvdDtTdG9uZSAxJnF1b3Q7LCAoMC43LDAuMyksIE5FKTsKbGFiZWwoJnF1b3Q7U3RvbmUgMiZxdW90OywgKC0wLjcsMC4zKSwgTlcpOwpbL2FzeV0=
[asy]
import graph;
size(200);
defaultpen(linewidth(0.7));
real f(real x) {
return sin(x);
}
draw(graph(f,-2pi,2pi,n=150,join=operator ..),red);
draw(graph(f,-2pi+pi/4,2pi+pi/4,n=150,join=operator ..),blue);
draw(Circle((0,0),1));
draw(Circle((1,0),1));
draw((-1.2,0)--(1.2,0));
draw((0,-1.2)--(0,1.2));
draw((0.5,0.8)--(0.5,-0.8));
draw((0.8,0.5)--(-0.8,0.5));
label("1", (1.2,0), E);
label("2", (-1.2,0), W);
label("Stone 1", (0.7,0.3), NE);
label("Stone 2", (-0.7,0.3), NW);
[/asy]