randFromArray([
                    ["O", "A", "B", "C"],
                    ["O", "L", "M", "N"],
                    ["P", "Q", "R", "S"]
                ])
                randRange(1, 89)
                "\\angle " + A + O + B
                "\\angle " + B + O + C
                shuffle([ ANGLE_BOT, ANGLE_TOP ])
            
            
                If \angle A + O + C is a right angle and m ANGLE_ONE = ANGLE^\circ, what is m ANGLE_TWO?
                
                
                    init({
                        range: [ [-2, 7], [-1, 6] ],
                        scale: 40
                    });
                    var DISP_ANGLE = Math.min( Math.max( 10, ANGLE ), 80 );
                    if ( ANGLE_ONE !== ANGLE_BOT ) {
                        DISP_ANGLE = 90 - DISP_ANGLE;
                        arc( [ 0, 0 ], 1, DISP_ANGLE, 90 );
                        DISP_ANGLE *= PI / 180;
                        label( [ 2 * cos( DISP_ANGLE + ( PI / 2 - DISP_ANGLE) / 2 ) + 0.125, 2 * sin( DISP_ANGLE + ( PI / 2 - DISP_ANGLE) / 2  ) + 0.5 ], ANGLE + "^\\circ" );
                    } else {
                        arc( [ 0, 0 ], 1, 0, DISP_ANGLE );
                        DISP_ANGLE *= PI / 180;
                        label( [ 2 * cos( DISP_ANGLE / 2 ) + 0.65 , 2 * sin( DISP_ANGLE / 2 )], ANGLE + "^\\circ" );
                    }
                    path([ [0, 5], [0, 0], [5, 0] ]);
                    path([ [0, 0], [5 * cos( DISP_ANGLE ), 5 * sin( DISP_ANGLE )] ]);
                    label( [0, 0], O, "below left" );
                    label( [5, 0], A, "right" );
                    label( [0, 5], C, "above" );
                    // somewhat ick to make it look nice
                    label( [5.4 * cos( DISP_ANGLE ), 5.4 * sin( DISP_ANGLE )], B );
                
                NOTE: Angles not necessarily drawn to scale.
             
            
                90 - ANGLE \Large{^\circ}
            
            
                From the diagram, we see that ANGLE_BOT and ANGLE_TOP are complementary angles.
                Therefore, m ANGLE_BOT + m ANGLE_TOP = 90^\circ.
                Thus, m ANGLE_TWO = 90^\circ - m ANGLE_ONE = 90^\circ - ANGLE^\circ = 90 - ANGLE^\circ.
             
         
        
            
                randFromArray([
                    ["O", "A", "B", "C"],
                    ["O", "L", "M", "N"],
                    ["P", "Q", "R", "S"]
                ])
                randRange(1, 179)
                "\\angle " + A + O + B
                "\\angle " + B + O + C
                shuffle([ ANGLE_BOT, ANGLE_TOP ])
            
            
                If m \angle A + O + C = 180^\circ and m ANGLE_ONE = ANGLE^\circ, what is m ANGLE_TWO?
                
                
                    init({
                        range: [ [-7, 7], [-1, 6] ],
                        scale: 40
                    });
                    var DISP_ANGLE = Math.min( Math.max( 10, ANGLE ), 170 );
                    if ( ANGLE_ONE !== ANGLE_BOT ) {
                        DISP_ANGLE = 180 - DISP_ANGLE;
                        arc( [ 0, 0 ], 1, DISP_ANGLE, 180 );
                        DISP_ANGLE *= PI / 180;
                        label( [ 2 * cos( DISP_ANGLE + ( PI - DISP_ANGLE) / 2 ) - .5, 2 * sin( DISP_ANGLE + ( PI - DISP_ANGLE) / 2  )], ANGLE + "^\\circ" );
                    } else {
                        arc( [ 0, 0 ], 1, 0, DISP_ANGLE );
                        DISP_ANGLE *= PI / 180;
                        label( [ 2 * cos( DISP_ANGLE / 2 ) + .5 , 2 * sin( DISP_ANGLE / 2 )], ANGLE + "^\\circ" );
                    }
                    path([ [-5, 0], [5, 0] ]);
                    path([ [0, 0], [5 * cos( DISP_ANGLE ), 5 * sin( DISP_ANGLE )] ]);
                    label( [0, 0], O, "below" );
                    label( [5, 0], A, "right" );
                    label( [-5, 0], C, "left" );
                    // somewhat ick to make it look nice
                    label( [5.35 * cos( DISP_ANGLE ), 5.35 * sin( DISP_ANGLE )], B );
                
                NOTE: Angles not necessarily drawn to scale.
             
            
                180 - ANGLE \Large{^\circ}
            
            
                From the diagram, we see that ANGLE_BOT and ANGLE_TOP are supplementary angles.
                Therefore, m ANGLE_BOT + m ANGLE_TOP = 180^\circ.
                Thus, m ANGLE_TWO = 180^\circ - m ANGLE_ONE = 180^\circ - ANGLE^\circ = 180 - ANGLE^\circ.