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.1
Stockholders' Equity - Significant Option Groups Outstanding and Exercisable Option and its Price and Contractual Life (Detail)
3 Months Ended
Feb. 28, 2023
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Outstanding, Outstanding | shares 442,314
Outstanding, Weighted Average Remaining Contractual Life (Years) 4 years 6 months 14 days
Outstanding, Weighted Average Exercise Price $ 7.42
Exercisable, Outstanding | shares 320,671
Exercisable, Weighted Average Exercise Price $ 7.48
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.00
Outstanding, Outstanding | shares 30,000
Outstanding, Weighted Average Remaining Contractual Life (Years) 2 years 6 months
Outstanding, Weighted Average Exercise Price $ 3.13
Exercisable, Outstanding | shares 30,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.00
Outstanding, Outstanding | shares 113,000
Outstanding, Weighted Average Remaining Contractual Life (Years) 4 years 10 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.00
Outstanding, Outstanding | shares 14,433
Outstanding, Weighted Average Remaining Contractual Life (Years) 7 years 11 months 8 days
Outstanding, Weighted Average Exercise Price $ 6.50
Exercisable, Outstanding | shares 8,249
Exercisable, Weighted Average Exercise Price $ 6.51
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.00
Outstanding, Outstanding | shares 194,781
Outstanding, Weighted Average Remaining Contractual Life (Years) 4 years 8 months 15 days
Outstanding, Weighted Average Exercise Price $ 7.63
Exercisable, Outstanding | shares 180,829
Exercisable, Weighted Average Exercise Price $ 7.60
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.00
Outstanding, Outstanding | shares 29,000
Outstanding, Weighted Average Remaining Contractual Life (Years) 5 years 7 days
Outstanding, Weighted Average Exercise Price $ 9.37
Exercisable, Outstanding | shares 9,166
Exercisable, Weighted Average Exercise Price $ 9.31
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.00
Outstanding, Outstanding | shares 16,653
Outstanding, Weighted Average Remaining Contractual Life (Years) 7 years 5 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.00
Outstanding, Outstanding | shares 44,447
Outstanding, Weighted Average Remaining Contractual Life (Years) 1 year 9 months 25 days
Outstanding, Weighted Average Exercise Price $ 13.50
Exercisable, Outstanding | shares 29,628
Exercisable, Weighted Average Exercise Price $ 13.50