| Calculation of Basic and Diluted Net Income per Common Share | The following table sets forth the calculation of basic and diluted net income per common share:   
       
        |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  
        |   |   | Three Months Ended |   |   | Nine Months Ended |   |  
        |   |   | August 31, 2023 |   |   | August 31, 2022 |   |   | August 31, 2023 |   |   | August 31, 2022 |   |  
        | Numerator: |   |   |   |   |   |   |   |   |   |   |   |   |  
        | Net income |   | $ | 680,561 |   |   | $ | 466,820 |   |   | $ | 1,668,349 |   |   | $ | 1,933,586 |   |  
        | Denominator: |   |   |   |   |   |   |   |   |   |   |   |   |  
        | Weighted-average shares outstanding-basic |   |   | 8,286,555 |   |   |   | 8,390,335 |   |   |   | 8,358,792 |   |   |   | 8,449,277 |   |  
        | Dilutive common shares issuable upon exercise ofstock options
 |   |   | 55,512 |   |   |   | 14,150 |   |   |   | 16,147 |   |   |   | 26,384 |   |  
        | Weighted-average shares-diluted |   |   | 8,342,067 |   |   |   | 8,404,485 |   |   |   | 8,374,939 |   |   |   | 8,475,661 |   |  
        | Income  per share: |   |   |   |   |   |   |   |   |   |   |   |   |  
        | Basic |   | $ | 0.08 |   |   | $ | 0.06 |   |   | $ | 0.20 |   |   | $ | 0.23 |   |  
        | Diluted |   | $ | 0.08 |   |   | $ | 0.06 |   |   | $ | 0.20 |   |   | $ | 0.23 |   |  |