Quarterly report pursuant to Section 13 or 15(d)

Stockholders' Equity - Significant Option Groups Outstanding and Exercisable Option and its Price and Contractual Life (Detail)

v3.23.3
Stockholders' Equity - Significant Option Groups Outstanding and Exercisable Option and its Price and Contractual Life (Detail)
9 Months Ended
Aug. 31, 2023
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Outstanding, Outstanding | shares 393,678
Outstanding, Weighted Average Remaining Contractual Life (Years) 4 years 7 months 2 days
Outstanding, Weighted Average Exercise Price $ 7.42
Exercisable, Outstanding | shares 285,735
Exercisable, Weighted Average Exercise Price $ 7.52
Range 1 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 3.01
Range of Exercise Prices Maximum $ 4
Outstanding, Outstanding | shares 25,000
Outstanding, Weighted Average Remaining Contractual Life (Years) 2 years 5 months 8 days
Outstanding, Weighted Average Exercise Price $ 3.13
Exercisable, Outstanding | shares 25,000
Exercisable, Weighted Average Exercise Price $ 3.13
Range 2 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 4.01
Range of Exercise Prices Maximum $ 5
Outstanding, Outstanding | shares 113,000
Outstanding, Weighted Average Remaining Contractual Life (Years) 4 years 4 months 6 days
Outstanding, Weighted Average Exercise Price $ 4.68
Exercisable, Outstanding | shares 50,000
Exercisable, Weighted Average Exercise Price $ 4.62
Range 3 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 6.01
Range of Exercise Prices Maximum $ 7
Outstanding, Outstanding | shares 14,433
Outstanding, Weighted Average Remaining Contractual Life (Years) 7 years 5 months 4 days
Outstanding, Weighted Average Exercise Price $ 6.5
Exercisable, Outstanding | shares 13,549
Exercisable, Weighted Average Exercise Price $ 6.5
Range 4 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 7.01
Range of Exercise Prices Maximum $ 8
Outstanding, Outstanding | shares 151,145
Outstanding, Weighted Average Remaining Contractual Life (Years) 5 years 6 months 21 days
Outstanding, Weighted Average Exercise Price $ 7.54
Exercisable, Outstanding | shares 139,893
Exercisable, Weighted Average Exercise Price $ 7.5
Range 5 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 9.01
Range of Exercise Prices Maximum $ 10
Outstanding, Outstanding | shares 29,000
Outstanding, Weighted Average Remaining Contractual Life (Years) 4 years 6 months 3 days
Outstanding, Weighted Average Exercise Price $ 9.37
Exercisable, Outstanding | shares 14,866
Exercisable, Weighted Average Exercise Price $ 9.37
Range 6 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 12.01
Range of Exercise Prices Maximum $ 13
Outstanding, Outstanding | shares 16,653
Outstanding, Weighted Average Remaining Contractual Life (Years) 6 years 11 months 23 days
Outstanding, Weighted Average Exercise Price $ 12.54
Exercisable, Outstanding | shares 12,799
Exercisable, Weighted Average Exercise Price $ 12.58
Range 7 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 13.01
Range of Exercise Prices Maximum $ 14
Outstanding, Outstanding | shares 44,447
Outstanding, Weighted Average Remaining Contractual Life (Years) 1 year 3 months 21 days
Outstanding, Weighted Average Exercise Price $ 13.5
Exercisable, Outstanding | shares 29,628
Exercisable, Weighted Average Exercise Price $ 13.5