2008 Greece Team Selection Test
The bisectors of the angles $\angle{A},\angle{B},\angle{C}$ of a triangle $\triangle{ABC}$ intersect with the circumcircle $c_1(O,R)$ of $\triangle{ABC}$ at $A_2,B_2,C_2$ respectively.The tangents of $c_1$ at $A_2,B_2,C_2$ intersect each other at $A_3,B_3,C_3$ (the points $A_3,A$ lie on the same side of $BC$,the points $B_3,B$ on the same side of $CA$,and $C_3,C$ on the same side of $AB$).The incircle $c_2(I,r)$ of $\triangle{ABC}$ is tangent to $BC,CA,AB$ at $A_1,B_1,C_1$ respectively.Prove that $A_1A_2,B_1B_2,C_1C_2,AA_3,BB_3,CC_3$ are concurrent.



Diagram[asy]import graph; size(11cm); 

real labelscalefactor = 0.5; /* changes label-to-point distance */

pen dps = linewidth(0.7) + fontsize(10); defaultpen(dps); /* default pen style */ 

pen dotstyle = black; /* point style */ 

real xmin = -9.26871978147865, xmax = 19.467150423463277, ymin = -6.150626456647122, ymax = 10.10782642246474;  /* image dimensions */

pen aqaqaq = rgb(0.6274509803921569,0.6274509803921569,0.6274509803921569); pen uququq = rgb(0.25098039215686274,0.25098039215686274,0.25098039215686274); 



draw((1.0409487561836381,4.30054785243355)--(0.,0.)--(6.,0.)--cycle, aqaqaq); 

 /* draw figures */

draw((1.0409487561836381,4.30054785243355)--(0.,0.), uququq); 

draw((0.,0.)--(6.,0.), uququq); 

draw((6.,0.)--(1.0409487561836381,4.30054785243355), uququq); 

draw(circle((3.,1.550104087253063), 3.376806580383107)); 

draw(circle((1.9303371951242874,1.5188413314630436), 1.5188413314630436)); 

draw((1.0226422135625703,7.734611112525813)--(1.0559139088339535,1.4932847901569466), linetype("2 2")); 

draw((-1.2916762981259242,-1.8267024931300444)--(1.0559139088339535,1.4932847901569466), linetype("2 2")); 

draw((-0.2820306621765219,2.344520485530311)--(1.0559139088339535,1.4932847901569466), linetype("2 2")); 

draw((1.0559139088339535,1.4932847901569466)--(5.212367857300808,4.101231513568902), linetype("2 2")); 

draw((1.0559139088339535,1.4932847901569466)--(3.,-1.8267024931300442), linetype("2 2")); 

draw((12.047991949367804,-1.8267024931300444)--(1.0559139088339535,1.4932847901569466), linetype("2 2")); 

draw((1.0226422135625703,7.734611112525813)--(-1.2916762981259242,-1.8267024931300444)); 

draw((-1.2916762981259242,-1.8267024931300444)--(12.047991949367804,-1.8267024931300444)); 

draw((12.047991949367804,-1.8267024931300444)--(1.0226422135625703,7.734611112525813)); 

 /* dots and labels */

dot((1.0409487561836381,4.30054785243355),linewidth(3.pt) + dotstyle); 

label("$A$", (0.5889800538632699,4.463280489351154), NE * labelscalefactor); 

dot((0.,0.),linewidth(3.pt) + dotstyle); 

label("$B$", (-0.5723380089304358,-0.10096957139619551), NE * labelscalefactor); 

dot((6.,0.),linewidth(3.pt) + dotstyle); 

label("$C$", (6.233525986976863,0.06107480945873997), NE * labelscalefactor); 

label("$c_1$", (1.9663572911302232,5.111458012770896), NE * labelscalefactor); 

dot((3.,-1.8267024931300442),linewidth(3.pt) + dotstyle); 

label("$A_2$", (2.9386235762598374,-2.3155761097469805), NE * labelscalefactor); 

dot((5.212367857300808,4.101231513568902),linewidth(3.pt) + dotstyle); 

label("$B_2$", (5.315274495465561,4.274228711687063), NE * labelscalefactor); 

dot((-0.2820306621765219,2.344520485530311),linewidth(3.pt) + dotstyle); 

label("$C_2$", (-0.9234341674494632,2.6807922999468636), NE * labelscalefactor); 

dot((1.0226422135625703,7.734611112525813),linewidth(3.pt) + dotstyle); 

label("$A_3$", (1.1291279900463889,7.893219884113956), NE * labelscalefactor); 

dot((-1.2916762981259242,-1.8267024931300444),linewidth(3.pt) + dotstyle); 

label("$B_3$", (-1.8146782621516093,-1.4783468086631473), NE * labelscalefactor); 

dot((12.047991949367804,-1.8267024931300444),linewidth(3.pt) + dotstyle); 

label("$C_3$", (12.148145888182015,-1.6673985863272387), NE * labelscalefactor); 

dot((1.9303371951242874,1.5188413314630436),linewidth(3.pt) + dotstyle); 

label("$I$", (2.047379481557691,1.681518618008095), NE * labelscalefactor); 

dot((1.9303371951242878,0.),linewidth(3.pt) + dotstyle); 

label("$A_1$", (1.4532167517562602,-0.5600953171518461), NE * labelscalefactor); 

label("$c_2$", (1.5072315453745722,3.247947632939138), NE * labelscalefactor); 

dot((2.9254299438737803,2.666303492733126),linewidth(3.pt) + dotstyle); 

label("$B_1$", (2.8576013858323694,3.1129106488933584), NE * labelscalefactor); 

dot((0.45412477306806903,1.8761589424582812),linewidth(3.pt) + dotstyle); 

label("$C_1$", (0,2.3296961414278368), NE * labelscalefactor); 

dot((1.0559139088339535,1.4932847901569466),linewidth(3.pt) + dotstyle); 

clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle); 

 /* end of picture */[/asy]