<SEC-DOCUMENT>0001628280-23-041138.txt : 20231208
<SEC-HEADER>0001628280-23-041138.hdr.sgml : 20231208
<ACCEPTANCE-DATETIME>20231208141315
ACCESSION NUMBER:		0001628280-23-041138
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		61
CONFORMED PERIOD OF REPORT:	20231031
FILED AS OF DATE:		20231208
DATE AS OF CHANGE:		20231208

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			VIRCO MFG CORPORATION
		CENTRAL INDEX KEY:			0000751365
		STANDARD INDUSTRIAL CLASSIFICATION:	PUBLIC BUILDING AND RELATED FURNITURE [2531]
		IRS NUMBER:				951613718
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			0131

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-08777
		FILM NUMBER:		231474982

	BUSINESS ADDRESS:	
		STREET 1:		2027 HARPERS WAY
		CITY:			TORRANCE
		STATE:			CA
		ZIP:			90501
		BUSINESS PHONE:		3105330474

	MAIL ADDRESS:	
		STREET 1:		P O BOX 44846
		CITY:			LOS ANGELES
		STATE:			CA
		ZIP:			90044
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>virc-20231031.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with the Workiva Platform--><!--Copyright 2023 Workiva--><!--r:666446c8-0469-4d73-a94d-625204a07bf5,g:2cbe8862-0ffb-416d-9d12-6eb7bb4dce10,d:7a0adf6c77b4420ebef51ea0123b40ab--><html xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:srt="http://fasb.org/srt/2022" xmlns:virc="http://www.virco.com/20231031" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>virc-20231031</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="c-1" name="dei:EntityCentralIndexKey" id="f-25">0000751365</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:AmendmentFlag" id="f-26">false</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:DocumentFiscalYearFocus" id="f-27">2024</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:DocumentFiscalPeriodFocus" id="f-28">Q3</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:CurrentFiscalYearEndDate" id="f-29">--01-31</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="virc-20231031.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="c-1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="c-3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="c-4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:context id="c-6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-10"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-11"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-12"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-13"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-14"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-15"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-16"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-17"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-18"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-19"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-20"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-21"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-22"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-23"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-24"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-25"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-26"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-27"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-29"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-32"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-33"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-34"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-35"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-36"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-37"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-38"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-39"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-40"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-41"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-42"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-43"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-44"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-45"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-46"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-47"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-48"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-49"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-50"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-51"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-52"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="c-53"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-54"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-55"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-56"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">virc:OtherDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-57"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">virc:OtherDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-58"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">virc:OtherDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-59"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-09-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-60"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="virc:DebtInstrumentCovenantPeriodAxis">virc:CovenantPeriod1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-61"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-62"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-63"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-64"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">virc:InventoryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-65"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:InventoriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-66"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">virc:EquipmentLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-67"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">virc:EquipmentLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-68"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-69"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MortgagesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-08-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-70"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MortgagesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-08-01</xbrli:startDate><xbrli:endDate>2017-08-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-71"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MortgagesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-72"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-05-19</xbrli:startDate><xbrli:endDate>2023-05-19</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-73"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-05-19</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-74"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">virc:StockIncentivePlan2019Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-75"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">virc:StockIncentivePlan2019Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-76"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-77"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-78"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-79"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-80"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-81"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-82"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-83"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-84"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-85"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-86"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-87"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-88"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-90"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-91"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-92"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-93"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-94"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-95"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-96"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-97"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">virc:ProductLiabilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-98"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">virc:WorkerscompensationLiabilityInsuranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-99"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">virc:GeneralLiabilityLossMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-100"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">virc:AutomobileLiabilityLossMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">virc:LossLiabilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-102"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000751365</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-05</xbrli:instant></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_1"></div><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Washington, D.C. 20549</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:57.748%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:100%">FORM <ix:nonNumeric contextRef="c-1" name="dei:DocumentType" id="f-1">10-Q</ix:nonNumeric></span></div></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:4.610%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:93.190%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentQuarterlyReport" format="ixt-sec:boolballotbox" id="f-2">&#9746;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Quarterly Report Pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">For the quarterly period ended <ix:nonNumeric contextRef="c-1" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="f-3">October&#160;31, 2023</ix:nonNumeric> </span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">OR</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:4.610%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:93.190%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox" id="f-4">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Transition Report Pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">For the transition period from&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;to&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Commission File number <ix:nonNumeric contextRef="c-1" name="dei:EntityFileNumber" id="f-5">1-8777</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:73.830%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:22pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityRegistrantName" id="f-6">VIRCO MFG. CORPORATION</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(Exact Name of Registrant as Specified in its Charter)</span></div></td></tr></table></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"><tr><td style="width:1.0%"></td><td style="width:48.280%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.807%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:39.613%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="f-7">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityTaxIdentificationNumber" id="f-8">95-1613718</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(State or Other Jurisdiction of<br/>Incorporation or Organization)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(I.R.S. Employer<br/>Identification No.)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressAddressLine1" id="f-9">2027 Harpers Way</ix:nonNumeric>, <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressCityOrTown" id="f-10">Torrance</ix:nonNumeric>, <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressStateOrProvince" id="f-11">CA</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressPostalZipCode" id="f-12">90501</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(Address of Principal Executive Offices)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(Zip Code)</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:174%">Registrant&#8217;s Telephone Number, Including Area Code: (<ix:nonNumeric contextRef="c-1" name="dei:CityAreaCode" id="f-13">310</ix:nonNumeric>)&#160;<ix:nonNumeric contextRef="c-1" name="dei:LocalPhoneNumber" id="f-14">533-0474</ix:nonNumeric></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Securities registered pursuant to Section 12(b) of the Act:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.590%"><tr><td style="width:1.0%"></td><td style="width:45.731%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.654%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.873%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.809%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:37.233%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Title of each class</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Trading Symbol</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Name of each exchange on which registered</span></td></tr><tr style="height:11pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><ix:nonNumeric contextRef="c-1" name="dei:Security12bTitle" id="f-15">Common Stock, $0.01 par value per share</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><ix:nonNumeric contextRef="c-1" name="dei:TradingSymbol" id="f-16">VIRC</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><ix:nonNumeric contextRef="c-1" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="f-17">The Nasdaq Stock Market LLC</ix:nonNumeric></span></td></tr></table></div><div style="text-align:center;text-indent:24.75pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:63.596%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12&#160;months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90&#160;days.&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityCurrentReportingStatus" id="f-18">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#253;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#168;</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has submitted electronically and posted on its corporate Web site, if any, every Interactive Data File required to be submitted and posted pursuant to Rule&#160;405 of Regulation&#160;S-T during the preceding 12&#160;months (or for such shorter period that the registrant was required to submit and post such files).&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityInteractiveDataCurrent" id="f-19">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#253;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#168;</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, or a smaller reporting company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer&#8221; and &#8220;smaller reporting company&#8221; in Rule&#160;12b-2 of the Exchange Act.:</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.783%"><tr><td style="width:1.0%"></td><td style="width:19.292%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.582%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:40.591%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.555%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:24.126%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.670%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.284%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Large&#160;accelerated&#160;filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accelerated&#160;filer</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" id="f-20">Non-accelerated filer</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#253;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Smaller&#160;reporting&#160;company</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox" id="f-21">&#9746;</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Emerging growth company</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" id="f-22">&#9744;</ix:nonNumeric></span></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#160;12b-2 of the Exchange Act).&#160;&#160;&#160;&#160;Yes&#160;&#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityShellCompany" format="ixt-sec:boolballotbox" id="f-23">&#9744;</ix:nonNumeric>&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#253;</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The number of shares outstanding for each of the registrant&#8217;s classes of common stock, as of the latest practicable date:</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Common Stock, $.01 par value &#8212; <ix:nonFraction unitRef="shares" contextRef="c-2" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-24">16,347,314</ix:nonFraction> shares as of December 4, 2023.</span></div><div style="margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"></td></tr></table></div><div style="margin-bottom:17pt;margin-top:12pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_10"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">TABLE OF CONTENTS</span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:4.024%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.479%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.197%"></td><td style="width:0.1%"></td></tr><tr><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_13">Part I. Financial Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_13">3</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_16">Item 1. Financial Statements</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_16">3</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_19">Unaudited condensed consolidated balance sheets - </a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_19">O</a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_19">ctober</a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_19"> 31, 2023, January 31, 2023 and </a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_19">October</a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_19"> 31, 2022</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_19">3</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_22">Unaudited condensed consolidated statements of income - Three months ended </a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_22">October</a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_22"> 31, 2023 and 2022 </a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_22">5</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Unaudited condensed consolidated statements of income - Nine months ended October 31, 2023 and 2022 </span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_25">6</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_28">Unaudited condensed consolidated statements of comprehensive income - Three months ended </a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_28">October</a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_28"> 31, 2023 and 2022</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_28">7</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Unaudited condensed consolidated statements of comprehensive income - Nine months ended October 31, 2023 and 2022</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_31">8</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_34">Unaudited condensed consolidated statements of cash flows - </a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_34">Nine</a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_34"> months ended </a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_34">October</a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_34"> 31, 2023 and 2022</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_34">9</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_37">Unaudited condensed consolidated statements of changes in stockholders' equity - Three and </a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_37">nine</a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_37"> months ended</a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_37"> October</a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_37"> 31, 2023 and 2022</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_37">10</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_40">Notes to unaudited condensed consolidated financial statements - </a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_40">October</a><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_40"> 31, 202</a>3</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_40">12</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_91">Item&#160;2. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_91">20</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_109">Item&#160;3. Quantitative and Qualitative Disclosures about Market Risk</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_109">22</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_112">Item&#160;4. Controls and Procedures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_112">22</a></span></div></td></tr><tr><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_115">Part II. Other Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_115">24</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_118">Item&#160;1. Legal Proceedings</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_118">24</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_121">Item&#160;1A. Risk Factors</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_121">24</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_124">Item&#160;2. Unregistered Sales of Equity Securities, Use of Proceeds and Issuer Purchases of Equity Securities</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_124">24</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Item&#160;3. Defaults Upon Senior Securities </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_127">24</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Item&#160;4. Mine Safety Disclosures </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_130">24</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Item&#160;5. Other Information </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_133">24</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_136">Item&#160;6. Exhibits</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7a0adf6c77b4420ebef51ea0123b40ab_136">24</a></span></div></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_13"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART I. Financial Information</span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_16"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;1. Financial Statements </span></div><div><span><br/></span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_19"></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Virco Mfg. Corporation</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unaudited Condensed Consolidated Balance Sheets</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:56.524%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" rowspan="2" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr style="height:14pt"><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:Cash" format="ixt:num-dot-decimal" scale="3" id="f-30">4,887</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Cash" format="ixt:num-dot-decimal" scale="3" id="f-31">1,057</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Cash" format="ixt:num-dot-decimal" scale="3" id="f-32">2,175</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade accounts receivables, net </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-33">33,029</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-34">18,435</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-35">28,028</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other receivables</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OtherReceivablesNetCurrent" scale="3" id="f-36">27</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherReceivablesNetCurrent" scale="3" id="f-37">68</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherReceivablesNetCurrent" scale="3" id="f-38">102</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax receivable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:IncomeTaxesReceivable" format="ixt:fixed-zero" scale="3" id="f-39">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeTaxesReceivable" scale="3" id="f-40">19</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeTaxesReceivable" scale="3" id="f-41">106</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-42">58,931</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-43">67,406</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-44">57,465</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-45">1,961</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-46">2,083</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-47">1,671</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-48">98,835</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-49">89,068</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-50">89,547</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current assets</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant and equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Land</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:Land" format="ixt:num-dot-decimal" scale="3" id="f-51">3,731</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Land" format="ixt:num-dot-decimal" scale="3" id="f-52">3,731</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Land" format="ixt:num-dot-decimal" scale="3" id="f-53">3,731</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Land improvements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LandImprovements" scale="3" id="f-54">694</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LandImprovements" scale="3" id="f-55">686</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LandImprovements" scale="3" id="f-56">686</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Buildings and building improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:BuildingsAndImprovementsGross" format="ixt:num-dot-decimal" scale="3" id="f-57">51,498</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:BuildingsAndImprovementsGross" format="ixt:num-dot-decimal" scale="3" id="f-58">51,310</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:BuildingsAndImprovementsGross" format="ixt:num-dot-decimal" scale="3" id="f-59">51,459</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Machinery and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:MachineryAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="f-60">116,695</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:MachineryAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="f-61">113,662</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:MachineryAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="f-62">114,762</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LeaseholdImprovementsGross" scale="3" id="f-63">976</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LeaseholdImprovementsGross" scale="3" id="f-64">983</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LeaseholdImprovementsGross" format="ixt:num-dot-decimal" scale="3" id="f-65">1,012</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total property, plant and equipment</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="f-66">173,594</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="f-67">170,372</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="f-68">171,650</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less accumulated depreciation and amortization</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-69">138,650</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-70">135,810</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-71">136,998</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net property, plant and equipment</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-72">34,944</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-73">34,562</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-74">34,652</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-75">7,156</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-76">10,120</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-77">11,116</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-78">7,031</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-79">7,800</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="f-80">160</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-81">9,073</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-82">8,576</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-83">8,245</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-84">157,039</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-85">150,126</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-86">143,720</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:4pt"><span><br/></span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">See accompanying notes to unaudited condensed consolidated financial statements.</span></div><div style="margin-top:14pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Virco Mfg. Corporation</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unaudited Condensed Consolidated Balance Sheets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:56.524%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(In thousands, except share and par value data)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-87">14,351</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-88">19,448</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-89">18,926</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued compensation and employee benefits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-90">11,102</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-91">9,554</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-92">9,084</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax payable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:TaxesPayableCurrentAndNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-93">3,130</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:TaxesPayableCurrentAndNoncurrent" format="ixt:fixed-zero" scale="3" id="f-94">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:TaxesPayableCurrentAndNoncurrent" format="ixt:fixed-zero" scale="3" id="f-95">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion of long-term debt</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LongTermDebtCurrent" scale="3" id="f-96">245</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:num-dot-decimal" scale="3" id="f-97">7,360</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:num-dot-decimal" scale="3" id="f-98">2,457</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion operating lease liability</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-99">5,465</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-100">5,082</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-101">4,985</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other accrued liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-102">7,339</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-103">7,081</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-104">7,767</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-105">41,632</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-106">48,525</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-107">43,219</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current liabilities</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued self-insurance retention</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:SelfInsuranceReserveNoncurrent" scale="3" id="f-108">748</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:SelfInsuranceReserveNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-109">1,050</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:SelfInsuranceReserveNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-110">1,454</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued pension expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-111">9,334</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-112">10,676</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-113">11,776</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt, less current portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-114">7,946</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-115">14,384</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-116">14,444</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liability, less current portion</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-117"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-118">2,933</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-119">6,796</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-120">8,028</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other long-term liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesNoncurrent" scale="3" id="f-121">657</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesNoncurrent" scale="3" id="f-122">634</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesNoncurrent" scale="3" id="f-123">771</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total non-current liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-124">21,618</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-125">33,540</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-126">36,473</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commitments and contingencies (Notes 6, 7 and 13)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"><ix:nonFraction unitRef="usd" contextRef="c-3" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" id="f-127"></ix:nonFraction></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"><ix:nonFraction unitRef="usd" contextRef="c-4" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" id="f-128"></ix:nonFraction></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"><ix:nonFraction unitRef="usd" contextRef="c-5" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" id="f-129"></ix:nonFraction></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stockholders&#8217; equity</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Preferred stock:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Authorized <ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-130"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-131"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-132">3,000,000</ix:nonFraction></ix:nonFraction></ix:nonFraction> shares, $<ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="f-133"><ix:nonFraction unitRef="usdPerShare" contextRef="c-3" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="f-134"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="f-135">0.01</ix:nonFraction></ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:PreferredStockSharesIssued" format="ixt:fixed-zero" scale="0" id="f-136"><ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="us-gaap:PreferredStockSharesIssued" format="ixt:fixed-zero" scale="0" id="f-137"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:PreferredStockSharesIssued" format="ixt:fixed-zero" scale="0" id="f-138"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="0" id="f-139"><ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="0" id="f-140"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="0" id="f-141">none</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> issued or outstanding</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="f-142">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="f-143">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="f-144">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common stock:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Authorized <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-145"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-146"><ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-147">25,000,000</ix:nonFraction></ix:nonFraction></ix:nonFraction> shares, $<ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-148"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-149"><ix:nonFraction unitRef="usdPerShare" contextRef="c-3" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-150">0.01</ix:nonFraction></ix:nonFraction></ix:nonFraction> par value; issued and outstanding <ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-151"><ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="f-152">16,347,314</ix:nonFraction></ix:nonFraction> shares at 10/31/2023 and <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-153"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-154"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="f-155"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="f-156">16,210,985</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> at 1/31/2023 and 10/31/2022</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="f-157">164</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="f-158">162</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="f-159">162</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additional paid-in capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-160">121,201</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-161">120,890</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-162">120,787</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated deficit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-163">26,379</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-164">50,631</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-165">54,707</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated other comprehensive loss</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-166">1,197</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-167">2,360</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-168">2,214</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stockholders&#8217; equity</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-169">93,789</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-170">68,061</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-171">64,028</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities and stockholders&#8217; equity</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-172">157,039</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-173">150,126</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-174">143,720</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:4pt"><span><br/></span></div><div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">See accompanying notes to unaudited condensed consolidated financial statements.</span></div><div style="text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_22"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Virco Mfg. Corporation</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unaudited Condensed Consolidated Statements of Income</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:65.322%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.322%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.323%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(In thousands, except per share data)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-175">84,252</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-176">77,395</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs of goods sold</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="f-177">46,041</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="f-178">46,618</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-179">38,211</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-180">30,777</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-181">23,505</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-182">21,977</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating income</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-183">14,706</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-184">8,800</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrealized loss (gain) on investment in trust account</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:UnrealizedGainLossOnInvestments" scale="3" id="f-185">176</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:UnrealizedGainLossOnInvestments" scale="3" id="f-186">220</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pension expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent" scale="3" id="f-187">301</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent" scale="3" id="f-188">259</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:InterestExpense" scale="3" id="f-189">765</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InterestExpense" scale="3" id="f-190">567</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-191">13,464</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-192">8,194</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-193">3,304</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="f-194">319</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-195">10,160</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-196">7,875</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per common share:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-6" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-197">0.62</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-198">0.49</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-6" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-199">0.62</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-200">0.48</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares of common stock outstanding:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-201"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-202">16,347</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-203">16,211</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-204">16,428</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-205">16,249</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">See accompanying notes to unaudited condensed consolidated financial statements.</span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_25"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Virco Mfg. Corporation</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unaudited Condensed Consolidated Statements of Income</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.420%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.274%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.276%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(In thousands, except per share data)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-206">226,516</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-207">192,276</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs of goods sold</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="f-208">126,525</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="f-209">119,947</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-210">99,991</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-211">72,329</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-212">65,343</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-213">57,099</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating income </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-214">34,648</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-215">15,230</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrealized (gain) loss on investment in trust account</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:UnrealizedGainLossOnInvestments" scale="3" id="f-216">448</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="us-gaap:UnrealizedGainLossOnInvestments" scale="3" id="f-217">85</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pension expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent" scale="3" id="f-218">623</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent" scale="3" id="f-219">650</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="f-220">2,560</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="f-221">1,692</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-222">31,913</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-223">12,803</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-224">7,661</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="f-225">332</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-226">24,252</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-227">12,471</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per common share:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-228">1.49</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-8" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-229">0.77</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-230">1.48</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-8" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-231">0.77</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares of common stock outstanding:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-232">16,277</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-233">16,118</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-234">16,334</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-235">16,136</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">See accompanying notes to unaudited condensed consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_28"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Virco Mfg. Corporation</span></div><div style="margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unaudited Condensed Consolidated Statements of Comprehensive Income</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:65.223%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.370%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.372%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-236">10,160</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-237">7,875</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pension adjustments (net of tax expense of $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" scale="3" id="f-238">406</ix:nonFraction>  and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" scale="3" id="f-239">0</ix:nonFraction> at October 31, 2023 and 2022, respectively)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-240">1,163</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-241">3,545</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net comprehensive income</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-242">11,323</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-243">11,420</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:4pt"><span><br/></span></div><div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">See accompanying notes to unaudited condensed consolidated financial statements.</span></div><div><span><br/></span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_31"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Virco Mfg. Corporation</span></div><div style="margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unaudited Condensed Consolidated Statements of Comprehensive Income</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.830%"><tr><td style="width:1.0%"></td><td style="width:65.024%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.468%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.539%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.469%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-244">24,252</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-245">12,471</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pension adjustments (net of tax expense of $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" scale="3" id="f-246">406</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" scale="3" id="f-247">0</ix:nonFraction> at October 31, 2023 and 2022, respectively)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-248">1,163</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-249">3,815</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net comprehensive income </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-250">25,415</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-251">16,286</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:4pt"><span><br/></span></div><div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">See accompanying notes to unaudited condensed consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_34"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Virco Mfg. Corporation</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unaudited Condensed Consolidated Statements of Cash Flows</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"><tr><td style="width:1.0%"></td><td style="width:64.822%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.566%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.568%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Operating activities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-252">24,252</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-253">12,471</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Adjustments to reconcile net income to net cash provided by operating activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-254">3,763</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-255">3,390</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-cash lease benefits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="virc:NoncashRentExpense" scale="3" id="f-256">517</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="virc:NoncashRentExpense" scale="3" id="f-257">404</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Provision for doubtful accounts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-258">45</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-259">60</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Amortization of debt issuance costs </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="f-260">85</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="f-261">96</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="f-262">363</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="f-263">239</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="f-264">423</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="f-265">509</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Defined pension plan settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1" scale="3" id="f-266">372</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1" scale="3" id="f-267">64</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Amortization of net actuarial loss for pension plans</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax" scale="3" id="f-268">3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax" scale="3" id="f-269">405</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-cash unrealized (gain) loss on investment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:UnrealizedGainLossOnInvestments" scale="3" id="f-270">448</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="us-gaap:UnrealizedGainLossOnInvestments" scale="3" id="f-271">85</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Surrender of life insurance policies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="virc:SurrenderOfLifeInsurancePolicies" scale="3" id="f-272">95</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="virc:SurrenderOfLifeInsurancePolicies" format="ixt:fixed-zero" scale="3" id="f-273">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Changes in operating assets and liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade accounts receivable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-274">14,639</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-275">10,319</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other receivables</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherReceivables" scale="3" id="f-276">41</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherReceivables" scale="3" id="f-277">16</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="f-278">8,475</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="f-279">10,092</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInIncomeTaxes" format="ixt:num-dot-decimal" scale="3" id="f-280">3,167</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:IncreaseDecreaseInIncomeTaxes" scale="3" id="f-281">51</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="f-282">133</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="f-283">306</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable and accrued liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-284">3,150</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-285">4,578</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by operating activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-286">22,273</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-287">1,455</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Investing activities:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Capital expenditures</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-288">4,605</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-289">2,614</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Purchases of marketable securities in trust accounts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsToAcquireMarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-290">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:PaymentsToAcquireMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-291">7,280</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Proceeds from sale of marketable securities in trust accounts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" format="ixt:fixed-zero" scale="3" id="f-292">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-293">4,536</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Proceeds from surrendering life insurance policies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromLifeInsurancePolicies" format="ixt:fixed-zero" scale="3" id="f-294">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ProceedsFromLifeInsurancePolicies" format="ixt:num-dot-decimal" scale="3" id="f-295">2,744</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash used in investing activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-296">4,605</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-297">2,614</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Financing activities:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Borrowing from long-term debt</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-298">36,906</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-299">32,947</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Repayment of long-term debt</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-300">50,459</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-301">30,559</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payment of deferred financing costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsOfFinancingCosts" scale="3" id="f-302">175</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:PaymentsOfFinancingCosts" scale="3" id="f-303">200</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Tax withholding payments on share-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="f-304">110</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="f-305">213</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash (used in) provided by financing activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-306">13,838</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-307">1,975</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net increase in cash</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-308">3,830</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="f-309">816</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash at beginning of period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-310">1,057</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-311">1,359</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash at end of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-312">4,887</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-313">2,175</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Supplemental disclosures of cash flow information:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Property, plant and equipment acquired and not yet paid at end of period</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="virc:PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense" scale="3" id="f-314">178</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="virc:PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense" scale="3" id="f-315">291</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash paid during the year for interest</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-316">2,223</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-317">1,310</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash paid during the year for income tax, net of refunds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-318">4,156</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="f-319">65</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">See accompanying notes to unaudited condensed consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_37"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Virco Mfg. Corporation</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unaudited Consolidated Statements of Changes in Stockholders' Equity</span></div><div style="margin-top:9pt;text-align:center"><span><br/></span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"><tr><td style="width:1.0%"></td><td style="width:21.908%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.832%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.026%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.832%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.897%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.832%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.832%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.109%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.832%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.091%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.832%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.558%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three-Month Period Ended October 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">In thousands, except share data</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Additional Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Deficit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total Stockholder's Equity</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at August 1, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-10" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-320">16,347,314</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-10" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-321">164</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-11" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-322">121,030</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-12" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-323">36,539</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-324">2,360</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-325">82,295</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-326">10,160</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-327">10,160</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash dividends</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Pension adjustments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-16" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-328">1,163</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-329">1,163</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shares vested and others</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-17" decimals="INF" name="virc:SharesVestedAndOtherDuringPeriodShares" format="ixt:fixed-zero" scale="0" id="f-330">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-17" decimals="-3" name="virc:SharesVestedAndOtherDuringPeriodValue" format="ixt:fixed-zero" scale="3" id="f-331">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-18" decimals="-3" name="virc:SharesVestedAndOtherDuringPeriodValue" format="ixt:fixed-zero" scale="3" id="f-332">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="virc:SharesVestedAndOtherDuringPeriodValue" format="ixt:fixed-zero" scale="3" id="f-333">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock compensation expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-18" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="f-334">171</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="f-335">171</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at October 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-19" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-336">16,347,314</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-19" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-337">164</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-20" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-338">121,201</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-21" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-339">26,379</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-22" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-340">1,197</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-341">93,789</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:21.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.429%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.829%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.164%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.488%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.223%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.829%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.458%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.817%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three-Month Period Ended October 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">In thousands, except share data</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Additional Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Deficit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total Stockholder's Equity</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at August 1, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-23" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-342">16,210,985</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-23" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-343">162</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-24" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-344">120,684</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-25" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-345">62,582</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-346">5,759</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-27" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-347">52,505</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-348"><ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-349">7,875</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-350">7,875</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash dividends</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Pension adjustments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-29" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-351">3,545</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-352">3,545</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shares vested and others</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-30" decimals="INF" name="virc:SharesVestedAndOtherDuringPeriodShares" format="ixt:fixed-zero" scale="0" id="f-353">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-30" decimals="-3" name="virc:SharesVestedAndOtherDuringPeriodValue" format="ixt:fixed-zero" scale="3" id="f-354">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-31" decimals="-3" name="virc:SharesVestedAndOtherDuringPeriodValue" format="ixt:fixed-zero" scale="3" id="f-355">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="virc:SharesVestedAndOtherDuringPeriodValue" format="ixt:fixed-zero" scale="3" id="f-356">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock compensation expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-31" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="f-357">103</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="f-358">103</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at October 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-32" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-359">16,210,985</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-32" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-360">162</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-33" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-361">120,787</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-34" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-362">54,707</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-35" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-363">2,214</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-364">64,028</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr></table></div><div><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:21.942%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.046%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.981%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.981%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.535%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.981%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.125%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.833%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.114%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.576%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine-Month Period Ended October 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">In thousands, except share data</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Additional Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Deficit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total Stockholder's Equity</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at February 1, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-36" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-365">16,210,985</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-36" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-366">162</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-37" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-367">120,890</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-38" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-368">50,631</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-39" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-369">2,360</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-370">68,061</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-40" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-371">24,252</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-372">24,252</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash dividends</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Pension adjustments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-41" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-373">1,163</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-374">1,163</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shares vested and others</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-42" decimals="INF" name="virc:SharesVestedAndOtherDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="f-375">136,329</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-42" decimals="-3" name="virc:SharesVestedAndOtherDuringPeriodValue" scale="3" id="f-376">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-43" decimals="-3" sign="-" name="virc:SharesVestedAndOtherDuringPeriodValue" scale="3" id="f-377">112</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="virc:SharesVestedAndOtherDuringPeriodValue" scale="3" id="f-378">110</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock compensation expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-43" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="f-379">423</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="f-380">423</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at October 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-19" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-381">16,347,314</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-19" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-382">164</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-20" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-383">121,201</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-21" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-384">26,379</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-22" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-385">1,197</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-386">93,789</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:21.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.429%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.829%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.164%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.488%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.223%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.829%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.458%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.817%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine-Month Period Ended October 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">In thousands, except share data</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Additional Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Deficit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total Stockholder's Equity</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at February 1, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-44" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-387">16,102,023</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-44" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-388">161</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-45" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-389">120,492</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-46" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-390">67,178</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-47" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-391">6,029</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-392">47,446</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-48" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-393">12,471</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-394">12,471</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash dividends</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Pension adjustments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-395">3,815</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-396">3,815</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shares vested and others</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-50" decimals="INF" name="virc:SharesVestedAndOtherDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="f-397">108,962</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="virc:SharesVestedAndOtherDuringPeriodValue" scale="3" id="f-398">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" sign="-" name="virc:SharesVestedAndOtherDuringPeriodValue" scale="3" id="f-399">214</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="virc:SharesVestedAndOtherDuringPeriodValue" scale="3" id="f-400">213</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock compensation expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="f-401">509</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="f-402">509</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at October 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-32" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-403">16,210,985</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-32" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-404">162</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-33" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-405">120,787</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-34" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-406">54,707</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-35" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-407">2,214</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-408">64,028</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">See accompanying notes to unaudited condensed consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_40"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">VIRCO MFG. CORPORATION</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Notes to unaudited Condensed Consolidated Financial Statements</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">October&#160;31, 2023</span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_43"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 1. <ix:nonNumeric contextRef="c-1" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" id="f-409" continuedAt="f-409-1" escape="true">Basis of Presentation</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-409-1"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States (U.S. GAAP) for interim financial information and pursuant to the rules and regulations of the Securities and Exchange Commission. Accordingly, they do not include all of the information and notes required by generally accepted accounting principles for complete financial statements and are presented in accordance with the requirements of Form 10-Q and Rule 10-01 of Regulation S-X. These unaudited condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and notes thereto included in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended January&#160;31, 2023 (&#8220;Form&#160;10-K&#8221;).&#160; In the opinion of management, all adjustments considered necessary for a fair presentation have been included. Operating results for the three months and nine months ended October&#160;31, 2023 are not necessarily indicative of the results that may be expected for the fiscal year ending January&#160;31, 2024.  The balance sheet at January&#160;31, 2023 has been derived from the audited consolidated financial statements at that date, but does not include all of the information and notes required by accounting principles generally accepted in the United States for complete financial statements. All references to the &#8220;Company&#8221; refer to Virco Mfg. Corporation and its subsidiaries.</span></div></ix:continuation><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_46"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 2. <ix:nonNumeric contextRef="c-1" name="virc:SeasonalityTextBlock" id="f-410" continuedAt="f-410-1" escape="true">Seasonality and Management Use of Estimates</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-410-1" continuedAt="f-410-2"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The market for educational furniture is marked by extreme seasonality, with approximately <ix:nonFraction unitRef="number" contextRef="c-52" decimals="2" name="virc:ExtremeSeasonalityGoods" scale="-2" id="f-411">50</ix:nonFraction>% of the Company&#8217;s total sales typically occurring from June to August each year, the Company&#8217;s peak season. Hence, the Company typically builds and carries significant amounts of inventory during and in anticipation of this peak summer season to facilitate the rapid delivery requirements of customers in the educational market. This requires a large up-front investment in inventory, labor, storage and related costs as inventory is built in anticipation of peak sales during the summer months. As the capital required for this build-up generally exceeds cash available from operations, the Company has generally relied on third-party bank financing to meet cash flow requirements during the build-up period immediately preceding the peak season. In addition, the Company typically is faced with an overall higher accounts receivable balance during the peak season. This occurs for two primary reasons. First, accounts receivable balances typically increase during the peak season as shipments of products increase. Second, many customers during this period are educational institutions and government entities, which tend to pay accounts receivable slower than commercial customers.  </span></div></ix:continuation><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-410-2">The Company&#8217;s working capital requirements during and in anticipation of the peak summer season require management to make estimates and judgments that affect assets, liabilities, revenues and expenses, and related contingent assets and liabilities. On an ongoing basis, management evaluates its estimates, including those related to market demand, labor costs and stocking inventory.  Significant estimates made by management include, but are not limited to, valuation of inventory; deferred tax assets and liabilities; useful lives of property, plant and equipment; liabilities under pension, warranty and self-insurance; and the accounts receivable allowance for doubtful accounts.</ix:continuation> </span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_49"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 3.  Recently Issued Accounting Standards </span></div><div><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" id="f-412" escape="true"><div><span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates all Accounting Standards Updates ("ASUs") issued by the Financial Accounting Standards Board ("FASB") for consideration of their applicability to our condensed consolidated financial statements. We have assessed all ASUs issued but not yet adopted and concluded that those not disclosed are not</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> relevant </span><span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> the Company or are not expected to have a material impact.</span></div></ix:nonNumeric><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_55"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 4. <ix:nonNumeric contextRef="c-1" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="f-413" continuedAt="f-413-1" escape="true">Revenue Recognition</ix:nonNumeric></span></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="f-413-1" continuedAt="f-413-2"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company manufactures, markets and distributes a wide variety of school and office furniture to wholesalers, distributors, educational institutions and governmental entities. Revenue is recorded for promised goods or services when control is transferred to customers in an amount that reflects the consideration to which the entity expects to be entitled to in exchange for those goods or services.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's sales generally involve a single performance obligation to deliver goods pursuant to customer purchase orders.&#160; Prices for our products are based on published price lists and customer agreements. The Company has determined that the performance obligations are satisfied at a point in time when the Company completes delivery per the customer contract. The majority of sales are free on board ("FOB") destination where the destination is specified per the customer contract and may </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="f-413-2"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">include delivering the furniture into the classroom, school site or warehouse. Sales of furniture that are sold FOB factory are typically made to resellers of our product who in turn provide logistics to the ultimate customer. Once a product has been delivered per the shipping terms, the customer is able to direct the use of, and obtain substantially all of the remaining benefits from the asset. The Company considers control to have transferred upon shipment or delivery in accordance with shipping terms because the Company has a present right to payment at that time, the customer has legal title to the asset, the Company has transferred physical possession of the asset, and the customer has significant risks and rewards of ownership of the asset.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales are recorded net of discounts, sales incentives and rebates, sales taxes and estimated returns and allowances.  The Company offers sales incentives and discounts through various regional and national programs to our customers. These programs include product rebates, product returns allowances and trade promotions. Variable consideration for these programs is estimated in the transaction price at contract inception based on current sales levels and historical experience using the expected value method, subject to constraint.</span></div><div><span><br/></span></div><div><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company generates revenue primarily by manufacturing and distributing products through resellers and direct-to-customers. Control transfers to both resellers and direct customers at a point in time when the delivery process is complete as determined by the corresponding shipping terms. Therefore, we do not consider them to be meaningfully different revenue streams given similarities in the nature of the products, performance obligation and distribution processes. Sales are predominately in the United States and to a similar class of customer. We do not manage or evaluate the business based on product line or any other discernable category.</span></div></ix:continuation><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_58"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 5. <ix:nonNumeric contextRef="c-1" name="us-gaap:InventoryDisclosureTextBlock" id="f-414" continuedAt="f-414-1" escape="true">Inventories</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-414-1"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory is valued at the lower of cost or net realizable value (determined on a first-in, first-out basis) and includes material, labor, and factory overhead.  The Company records valuation adjustments for the excess cost of the inventory over its estimated net realizable value.  Valuation adjustments for slow-moving and obsolete inventory are calculated using an estimated percentage applied to inventories based on a physical inspection of the product in connection with a physical inventory, a review of slow-moving products and component stage, inventory category, historical and forecasted consumption of sales, and consideration of active marketing programs.  The market for education furniture is traditionally driven by value, not style, and the Company has not typically incurred material obsolescence expenses.  If market conditions are less favorable than those anticipated by management, additional valuation adjustments may be required.  The Company records the cost of excess capacity as a period expense, not as a component of capitalized inventory valuation.</span></div><div><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="f-415" escape="true"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a breakdown of the Company&#8217;s inventories as of October&#160;31, 2023, January&#160;31, 2023 and October&#160;31, 2022:</span></div><div style="margin-top:14pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"><tr><td style="width:1.0%"></td><td style="width:51.429%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.780%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.841%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.780%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.841%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.785%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1/31/2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;Finished goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-416">20,587</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-417">25,740</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-418">24,173</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;Work in process</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-419">23,270</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-420">25,303</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-421">18,829</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-422">15,074</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-423">16,363</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-424">14,463</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total inventories</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-425">58,931</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-426">67,406</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-427">57,465</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="margin-top:4pt"><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_61"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 6.  <ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeOperatingLeasesTextBlock" id="f-428" continuedAt="f-428-1" escape="true">Leases</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-428-1" continuedAt="f-428-2"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has operating leases on real property, equipment, and automobiles, expiring at various dates through 2026.  The Company determines if an arrangement is a lease at inception and assesses classification of the lease at commencement. All of the Company&#8217;s leases are classified as operating leases.  The Company uses the implicit rate when readily determinable, or the incremental borrowing rate.  Our incremental borrowing rate is estimated to approximate the interest rate on a collateralized basis with similar terms and payments using Company specific credit spreads. The Company&#8217;s lease terms include options to extend or terminate the lease only when it is reasonably certain that we will exercise that option. Lease expense for our operating leases is recognized on a straight-line basis over the lease term.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has an operating lease for its corporate office and manufacturing and distribution facility located in Torrance, California, currently with a remaining lease term through April 2025. The Company's lease terms include options to extend or terminate the lease only when it is reasonably certain that we exercise that option.  The Company leases equipment under a&#160;5-</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="f-428-2"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">year operating lease arrangement. The Company has the option of buying the assets at the end of the lease period at a price that does not result in the Company being reasonably certain of exercising the option. In addition, the Company leases trucks and automobiles under operating leases that include certain fleet management and maintenance services. Certain of the leases contain renewal or purchase options and require payment for property taxes and insurance. The Company records lease expense on a straight-line basis based on the contractual lease payments. The Company recognizes the present value of the future lease commitments as an operating lease liability, and a corresponding right-of-use asset (&#8220;ROU asset&#8221;), net of tenant allowances.  Tenant improvements and related tenant allowances are recorded as a reduction to the ROU asset.  The Company elected to account for leases with an original term of 12 months or less that do not contain a purchase option as short-term leases. Additionally, certain of the leases provide for variable payment for property taxes, insurance, and common area maintenance payments, among others. The Company recognizes variable lease expenses for these leases in the period incurred. The Company's lease agreements do not contain any material residual value guarantees or material restrictive covenants.  </span></div><div><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:LeaseCostTableTextBlock" id="f-429" escape="true"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The quantitative information regarding our leases is as follows:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:41.778%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.556%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.556%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.827%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.556%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.559%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands, except lease term and discount rate)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-430">1,278</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-431">1,288</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-432">3,828</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-433">3,903</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ShortTermLeaseCost" scale="3" id="f-434">119</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ShortTermLeaseCost" scale="3" id="f-435">113</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ShortTermLeaseCost" scale="3" id="f-436">307</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ShortTermLeaseCost" scale="3" id="f-437">289</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sublease income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:SubleaseIncome" scale="3" id="f-438">10</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:SubleaseIncome" scale="3" id="f-439">10</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:SubleaseIncome" scale="3" id="f-440">30</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:SubleaseIncome" scale="3" id="f-441">30</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="f-442">252</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="f-443">16</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="f-444">673</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="f-445">547</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-446">1,639</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-447">1,407</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-448">4,778</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-449">4,709</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other operating leases information:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid for amounts included in the measurement of lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsForRent" format="ixt:num-dot-decimal" scale="3" id="f-450">4,345</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:PaymentsForRent" format="ixt:num-dot-decimal" scale="3" id="f-451">4,306</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets obtained in exchange for new lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CapitalLeaseObligationsIncurred" scale="3" id="f-452">364</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:CapitalLeaseObligationsIncurred" scale="3" id="f-453">469</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-3" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-454">1.5</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-5" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-455">2.4</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average discount rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-3" decimals="4" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="f-456">6.36</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-5" decimals="4" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="f-457">6.34</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div></ix:nonNumeric><div style="margin-top:5pt;text-align:center"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="f-458" escape="true"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Minimum future lease payments for operating leases in effect as of&#160;October&#160;31, 2023, are as follows:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.614%"><tr><td style="width:1.0%"></td><td style="width:79.481%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.319%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Lease</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For the year ending January 31, </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remaining of 2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" format="ixt:num-dot-decimal" scale="3" id="f-459">1,447</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-460">5,825</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" format="ixt:num-dot-decimal" scale="3" id="f-461">1,564</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="f-462">8</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" format="ixt:fixed-zero" scale="3" id="f-463">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="virc:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" format="ixt:fixed-zero" scale="3" id="f-464">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Remaining balance of lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" format="ixt:num-dot-decimal" scale="3" id="f-465">8,844</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-466">5,465</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-467"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-468">2,933</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-469">8,398</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Difference between undiscounted cash flows and discounted cash flows</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="f-470">446</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_64"></div><div style="margin-bottom:6pt;margin-top:6pt"><span><br/></span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 7. <ix:nonNumeric contextRef="c-1" name="us-gaap:DebtDisclosureTextBlock" id="f-471" continuedAt="f-471-1" escape="true">Debt</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-471-1" continuedAt="f-471-2"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock" id="f-472" escape="true"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding balances for the Company&#8217;s long-term debt were as follows:</span></div><div style="margin-bottom:6pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"><tr><td style="width:1.0%"></td><td style="width:51.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.892%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.849%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.892%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.849%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.895%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-bottom:6pt;margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revolving credit line</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-473">3,747</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-54" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-474">17,122</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-55" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-475">12,221</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-56" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-476">4,444</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-57" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-477">4,622</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-58" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-478">4,680</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total debt</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-479">8,191</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-480">21,744</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-481">16,901</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less current portion</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LongTermDebtCurrent" scale="3" id="f-482">245</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:num-dot-decimal" scale="3" id="f-483">7,360</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:num-dot-decimal" scale="3" id="f-484">2,457</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current portion</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-485">7,946</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-486">14,384</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-487">14,444</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company and Virco Inc., its wholly-owned subsidiary (the &#8220;Borrowers&#8221;) has a Revolving Credit and Security Agreement (the &#8220;Credit Agreement&#8221;) with PNC Bank, National Association, as administrative agent and lender (&#8220;PNC&#8221;).  The Credit Agreement was amended numerous times since its origination in December 2011.  On September 28, 2021, the Borrowers entered into an Amended and Restated Revolving Credit and Security Agreement (the &#8220;Restated Credit Agreement&#8221;) with PNC Bank, which amended and restated the prior Credit Agreement and effectively incorporated all of the prior amendments into an amended and restated form of agreement. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Restated Credit Agreement permits the Company to issue dividends or make payments with respect to the Company&#8217;s capital stock in an aggregate amount up to $<ix:nonFraction unitRef="usd" contextRef="c-59" decimals="-5" name="virc:DividendPayableMaximumAmountInFiscalYear" scale="6" id="f-488">3.0</ix:nonFraction> million during any fiscal year, provided that no default shall have occurred or is continuing or would result from any such payment, and the Company must demonstrate pro forma compliance with a 12-month trailing fixed charge coverage ratio of not less than <ix:nonFraction unitRef="number" contextRef="c-60" decimals="INF" name="virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio" format="ixt:num-dot-decimal" id="f-489">1.20</ix:nonFraction>:1.00 as of the fiscal quarter immediately preceding the date of any such dividend or payment.  The Restated Credit Agreement also requires the Company to maintain a minimum fixed charge coverage ratio, and contains numerous other covenants that limit under certain circumstances the ability of the Borrowers and their subsidiaries to, among other things, merge with or acquire other entities, incur new liens, incur additional indebtedness, sell assets outside of the ordinary course of business, enter into transactions with affiliates, or substantially change the general nature of the business of the Borrowers.  In connection with the Restated Credit Agreement, the Company also agreed to pay to PNC Bank a non-refundable fee of $<ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:DebtInstrumentFeeAmount" format="ixt:num-dot-decimal" scale="0" id="f-490">50,000</ix:nonFraction>.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to the financial covenants, the Restated Credit Agreement provides for customary events of default, subject to certain cure periods and other limitations.  Substantially all of the Borrowers' accounts receivable are automatically and promptly swept to repay amounts outstanding under the Restated Credit Agreement upon receipt by the Borrowers. Due to this automatic liquidating nature of the Restated Credit Agreement, if the Borrowers breach any covenant, violate any representation or warranty or suffer a deterioration in their ability to borrow pursuant to the borrowing base calculation, the Borrowers may not have access to cash liquidity unless provided by PNC at its discretion. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The other material terms of the Restated Credit Agreement are substantially the same as those of the original Credit Agreement, consisting of (i) a revolving line of credit with a Maximum Revolving Advance Amount of  $<ix:nonFraction unitRef="usd" contextRef="c-62" decimals="-5" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="f-491">65.0</ix:nonFraction> million that is subject to a borrowing base limitation and generally provides for advances of up to <ix:nonFraction unitRef="number" contextRef="c-63" decimals="2" name="virc:LineOfCreditFacilityBorrowingBaseLimitation" scale="-2" id="f-492">85</ix:nonFraction>% of eligible accounts receivable, plus a percentage equal to the lesser of <ix:nonFraction unitRef="number" contextRef="c-64" decimals="2" name="virc:LineOfCreditFacilityBorrowingBaseLimitation" scale="-2" id="f-493">60</ix:nonFraction>% of the value of eligible inventory or <ix:nonFraction unitRef="number" contextRef="c-65" decimals="2" name="virc:LineOfCreditFacilityBorrowingBaseLimitation" scale="-2" id="f-494">85</ix:nonFraction>% of the liquidation value of eligible inventory, plus $<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="INF" name="virc:LineOfCreditFacilityBorrowingCapacityTerm" scale="6" id="f-495">15.0</ix:nonFraction> million from January through July of each year, minus undrawn amounts of letters of credit and reserves and (ii) an equipment loan of $<ix:nonFraction unitRef="usd" contextRef="c-66" decimals="-5" name="us-gaap:LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases" format="ixt:num-dot-decimal" scale="6" id="f-496">2.0</ix:nonFraction>&#160;million.  The Restated Credit Agreement is secured by substantially all of the Borrowers&#8217; personal property and certain of the Borrowers&#8217; real property. The Restated Credit Agreement is subject to certain prepayment penalties upon early termination of the Restated Credit Agreement. Prior to the maturity date, principal amounts outstanding under the Restated Credit Agreement may be repaid and reborrowed at the option of the Borrowers without premium or penalty, subject to borrowing base limitations, seasonal adjustments and certain other conditions, including reduced borrowings under the revolving line to less than or equal $<ix:nonFraction unitRef="usd" contextRef="c-67" decimals="-5" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="f-497">10.0</ix:nonFraction> million for a period of <ix:nonNumeric contextRef="c-1" name="virc:LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear" format="ixt-sec:durday" id="f-498">30</ix:nonNumeric> consecutive days during the fourth quarter of each fiscal year. The Restated Credit Agreement also contains certain financial covenants, including covenants requiring a minimum fixed charge coverage ratio and limits on capital expenditures. The Company was in compliance with its debt covenants as of October&#160;31, 2023.</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's revolving line of credit with PNC is structured to provide seasonal credit availability during the Company's peak summer season. Approximately $<ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-5" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-499">23.1</ix:nonFraction> million was available for borrowing as of October&#160;31, 2023.  The interest rate for outstanding loan balances during the quarter ended October&#160;31, 2023 was <ix:nonFraction unitRef="number" contextRef="c-1" decimals="4" name="us-gaap:LineOfCreditFacilityInterestRateDuringPeriod" scale="-2" id="f-500">10.00</ix:nonFraction>%. The Company also incurs a fee on the unused portion of the revolving line of credit at a rate of <ix:nonFraction unitRef="number" contextRef="c-1" decimals="INF" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="f-501">0.375</ix:nonFraction>%. </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span><br/></span></div><ix:continuation id="f-471-2"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to the outstanding debt balance of $<ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-5" name="us-gaap:LongTermDebt" scale="6" id="f-502">3.7</ix:nonFraction> million on the Company's revolving credit line, the Company also carries a mortgage on a manufacturing building in Conway Arkansas. The original note was dated August 2017 for $<ix:nonFraction unitRef="usd" contextRef="c-69" decimals="-5" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="6" id="f-503">5.8</ix:nonFraction>&#160;million, at a fixed rate of <ix:nonFraction unitRef="number" contextRef="c-69" decimals="INF" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-504">4</ix:nonFraction>% per year and <ix:nonNumeric contextRef="c-70" name="us-gaap:DebtInstrumentTerm" format="ixt-sec:duryear" id="f-505">20</ix:nonNumeric> year term.  The outstanding amount under this note was $<ix:nonFraction unitRef="usd" contextRef="c-71" decimals="-5" name="us-gaap:LongTermDebt" scale="6" id="f-506">4.4</ix:nonFraction> million as of October&#160;31, 2023.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 19, 2023, the Company entered into Amendment No. 3 to Amended and Restated Revolving Credit and Security Agreement (&#8220;Amendment No. 3&#8221;) with PNC, with an effective date of May 5, 2023. Amendment No. 3 amended the Restated Credit Agreement and the secured revolving line of credit provided to the Company under the revolving credit facility to reflect the following material changes:</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">i.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:12.73pt">Maximum size of the PNC line of credit has been increased to $<ix:nonFraction unitRef="usd" contextRef="c-72" decimals="-5" name="us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet" format="ixt:num-dot-decimal" scale="6" id="f-507">72.5</ix:nonFraction>&#160;million during the months of June through August of 2023, to provide additional availability for the Company&#8217;s forecast through the 2023 peak borrowing period;</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ii.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.96pt">Increase in the total inventory sublimit under the Credit Agreement to $<ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-5" name="virc:IncreaseDecreaseInInventorySublimitUnderCreditAgreement" format="ixt:num-dot-decimal" scale="6" id="f-508">35.0</ix:nonFraction>&#160;million and increase in the Assemble-to-ship (ATS) inventory sublimit to $<ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-5" name="virc:IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement" format="ixt:num-dot-decimal" scale="6" id="f-509">15.0</ix:nonFraction>&#160;million during the months of May through August of 2023; </span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">iii.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:7.19pt">The Company agreed to pay an amendment fee of $<ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-3" name="virc:CreditAgreementAmendmentFee" format="ixt:num-dot-decimal" scale="0" id="f-510">50,000</ix:nonFraction>, which is <ix:nonFraction unitRef="number" contextRef="c-73" decimals="4" name="virc:IncrementalCreditLineIncreaseDecreasePercentage" scale="-2" id="f-511">0.67</ix:nonFraction>% on the incremental line increase of $<ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-5" name="virc:IncrementalCreditLineIncreaseDecrease" format="ixt:num-dot-decimal" scale="6" id="f-512">7.5</ix:nonFraction>&#160;million; and</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">iv.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:7.73pt">Increase in the Applicable Margin (as defined in the Credit Agreement) of <ix:nonFraction unitRef="number" contextRef="c-73" decimals="INF" name="virc:IncreaseDecreaseApplicableMarginBasisPoints" scale="-4" id="f-513">25</ix:nonFraction> basis points.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management believes that the carrying value of debt approximated fair value at October&#160;31, 2023, as all of the long-term debt bears interest at variable rates based on prevailing market conditions ,except mortgage on a manufacturing building in Conway Arkansas at a fixed rate of <ix:nonFraction unitRef="number" contextRef="c-69" decimals="INF" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-514">4</ix:nonFraction>% per year.</span></div></ix:continuation><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_67"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 8. <ix:nonNumeric contextRef="c-1" name="us-gaap:IncomeTaxDisclosureTextBlock" id="f-515" continuedAt="f-515-1" escape="true">Income Taxes</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-515-1" continuedAt="f-515-2"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In assessing the realizability of deferred tax assets, the Company considers whether it is more likely than not that some portion or all of its deferred tax assets will not be realized.  The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income or reversal of deferred tax liabilities during the periods in which those temporary differences become deductible. As a part of this evaluation, the Company assesses all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, the availability of tax carry backs, tax-planning strategies, and results of recent operations, to determine whether sufficient future taxable income will be generated to realize existing deferred tax assets.  Valuation allowances of $<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="0" id="f-516">255,000</ix:nonFraction>, $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="0" id="f-517">864,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="0" id="f-518">8,893,000</ix:nonFraction> as of October&#160;31, 2023, January&#160;31, 2023 and October&#160;31, 2022, respectively, are needed for federal deferred tax assets and certain state net operating loss carryforwards to reduce the carrying amount of deferred tax assets to an amount that is more likely than not to be realized.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended October&#160;31, 2023 and 2022, the effective income tax rates were <ix:nonFraction unitRef="number" contextRef="c-6" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-519">24.5</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-520">3.9</ix:nonFraction>%, respectively.  For the nine months ended October&#160;31, 2023 and 2022, the effective income tax rates were <ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-521">24.0</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-8" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-522">2.6</ix:nonFraction>%, respectively.  The change in effective tax rates for the three and nine months ended October&#160;31, 2023 was primarily due to the change in forecasted mix of income before federal and state income taxes and estimated permanent differences.  The lower effective tax rate for the three and nine months ended October&#160;31, 2022 was primarily due to the recording of a valuation allowance needed for federal deferred tax assets and certain state net operating loss carryforwards. </span></div></ix:continuation><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-515-2">The January 31, 2018 and subsequent fiscal years remain open for examination by the IRS and state tax authorities.  The Company is not currently under any state examination.</ix:continuation> </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_70"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 9. <ix:nonNumeric contextRef="c-1" name="us-gaap:EarningsPerShareTextBlock" id="f-523" continuedAt="f-523-1" escape="true">Net Income per Share</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-523-1"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted net income per share:</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="f-524" escape="true"><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:47.726%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.826%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.072%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands, except per share data)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-525">10,160</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-526">7,875</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-527">24,252</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-528">12,471</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares of common stock outstanding - basic</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-529"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-530">16,347</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-531">16,211</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-532">16,277</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-533">16,118</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dilutive effect of common stock equivalents from equity incentive plans </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" scale="3" id="f-534">81</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" scale="3" id="f-535">38</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" scale="3" id="f-536">57</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" scale="3" id="f-537">18</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares of common stock outstanding - diluted</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-538">16,428</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-539">16,249</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-540">16,334</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-541">16,136</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per share - basic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-6" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-542">0.62</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-543">0.49</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-544">1.49</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-8" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-545">0.77</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per share - diluted</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-6" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-546">0.62</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-547">0.48</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-548">1.48</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-8" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-549">0.77</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_73"></div><div style="-sec-extract:summary"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 10. <ix:nonNumeric contextRef="c-1" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="f-550" continuedAt="f-550-1" escape="true">Stock-Based Compensation </ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-550-1" continuedAt="f-550-2"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock Incentive Plan</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the Company's 2019 Omnibus Equity Incentive Plan (the &#8220;2019 Plan&#8221;), the Company may grant an aggregate of up to <ix:nonFraction unitRef="shares" contextRef="c-74" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="6" id="f-551">1.0</ix:nonFraction> million shares to its employees and non-employee directors in the form of restricted stock units, restricted stock awards and stock options.  Restricted stock units and awards granted under the 2019 Plan are expensed ratably over the vesting period of the awards. The Company determines the fair value of its restricted stock units or awards and related compensation expense as the difference between the market value of the units or awards on the date of grant less the exercise price of the units or awards granted.  There were no awards grant and vested during the three-month period ended October 31, 2023. During the nine-month period ended October&#160;31, 2023, the Company granted <ix:nonFraction unitRef="shares" contextRef="c-75" decimals="0" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-552">70,510</ix:nonFraction> awards, vested <ix:nonFraction unitRef="shares" contextRef="c-75" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-553">93,600</ix:nonFraction> shares according to their terms and forfeited <ix:nonFraction unitRef="shares" contextRef="c-75" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" id="f-554">0</ix:nonFraction> shares under the 2019 Plan.  As of October&#160;31, 2023, there were approximately <ix:nonFraction unitRef="shares" contextRef="c-74" decimals="0" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="0" id="f-555">537,925</ix:nonFraction> shares available for future issuance under the 2019 Plan. </span></div><div><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="f-556" escape="true"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the stock-based compensation expense related to restricted stock awards recognized in the Company's statements of operations for the three and nine months ended October&#160;31, 2023 and 2022:</span></div><div><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"><tr><td style="width:1.0%"></td><td style="width:43.428%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.559%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.863%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.559%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.128%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of goods sold</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-557">28</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-558">28</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-559">84</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-560">120</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-561">143</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-562">75</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-563">339</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-564">389</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stock-based compensation expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-565">171</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-566">103</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-567">423</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="f-568">509</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div></ix:nonNumeric></ix:continuation><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-550-2">As of October&#160;31, 2023, there was $<ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="0" id="f-569">400,000</ix:nonFraction> of unrecognized compensation expense related to unvested restricted stock units and/or awards, which is expected to be recognized over a weighted average period of approximately <ix:nonNumeric contextRef="c-85" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="f-570">1</ix:nonNumeric> year.</ix:continuation>  </span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_76"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 11. <ix:nonNumeric contextRef="c-8" name="us-gaap:PostemploymentBenefitsDisclosureTextBlock" id="f-571" continuedAt="f-571-1" escape="true">Retirement Plans</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-571-1" continuedAt="f-571-2"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company and its subsidiaries cover certain employees under a noncontributory defined benefit retirement plan, entitled the Virco Employees&#8217; Retirement Plan (the &#8220;Pension Plan&#8221;). As more fully described in the Annual Report on Form 10-K, benefit accruals under the Employees Retirement Plan were frozen effective December&#160;31, 2003.  There is no service cost incurred under this plan.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span><br/></span></div><ix:continuation id="f-571-2" continuedAt="f-571-3"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also provides a supplementary retirement plan for certain key employees, the VIP Retirement Plan (the &#8220;VIP Plan&#8221;).  As more fully described in the Annual Report on Form 10-K for the year ended January&#160;31, 2023, benefit accruals under the VIP Plan were frozen since December&#160;31, 2003.  There is no service cost incurred under the VIP Plan.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes t<ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfDefinedBenefitPlansDisclosuresTextBlock" id="f-572" continuedAt="f-572-1" escape="true">he net periodic pension cost for the Pension Plan and the VIP Plan for the three and nine months ended October&#160;31, 2023 and 2022:</ix:nonNumeric></span></div><ix:continuation id="f-572-1"><div style="margin-bottom:6pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.807%"><tr><td style="width:1.0%"></td><td style="width:40.753%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.801%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.801%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.846%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.801%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.804%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-bottom:6pt;margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Service cost</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:DefinedBenefitPlanServiceCost" format="ixt:fixed-zero" scale="3" id="f-573">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:DefinedBenefitPlanServiceCost" format="ixt:fixed-zero" scale="3" id="f-574">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:DefinedBenefitPlanServiceCost" format="ixt:fixed-zero" scale="3" id="f-575">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:DefinedBenefitPlanServiceCost" format="ixt:fixed-zero" scale="3" id="f-576">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-577">106</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-578">298</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-579">826</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-580">895</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected return on plan assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="f-581">203</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="f-582">237</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="f-583">601</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="f-584">711</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Plan settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement" scale="3" id="f-585">372</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement" scale="3" id="f-586">64</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement" scale="3" id="f-587">372</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement" scale="3" id="f-588">64</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of prior service cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" format="ixt:fixed-zero" scale="3" id="f-589">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" format="ixt:fixed-zero" scale="3" id="f-590">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" format="ixt:fixed-zero" scale="3" id="f-591">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" format="ixt:fixed-zero" scale="3" id="f-592">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" sign="-" name="virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss" scale="3" id="f-593">26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" sign="-" name="virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss" scale="3" id="f-594">134</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" sign="-" name="virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss" scale="3" id="f-595">26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" sign="-" name="virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss" scale="3" id="f-596">402</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Benefit cost</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="f-597">301</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="f-598">259</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="f-599">623</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="f-600">650</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:continuation><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">401(k) Retirement Plan</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s retirement plan, which covers all U.S. employees, allows participants to defer from <ix:nonFraction unitRef="number" contextRef="c-90" decimals="2" name="virc:DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent" scale="-2" id="f-601">1</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-90" decimals="INF" name="us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" scale="-2" id="f-602">75</ix:nonFraction>% of their eligible compensation through a 401(k)-retirement program.  The plan includes Virco stock as one of the investment options.  At October&#160;31, 2023 and 2022, the plan held <ix:nonFraction unitRef="shares" contextRef="c-91" decimals="INF" name="virc:DefinedContributionPlanNumberOfCommonSharesHeld" format="ixt:num-dot-decimal" scale="0" id="f-603">1,404,774</ix:nonFraction> shares and <ix:nonFraction unitRef="shares" contextRef="c-92" decimals="INF" name="virc:DefinedContributionPlanNumberOfCommonSharesHeld" format="ixt:num-dot-decimal" scale="0" id="f-604">1,250,468</ix:nonFraction> shares of Virco stock, respectively.  For the three-month period ended October&#160;31, 2023 and 2022, the compensation costs incurred for employer match, which is paid in the form of Company stock, was $<ix:nonFraction unitRef="usd" contextRef="c-93" decimals="-3" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" format="ixt:num-dot-decimal" scale="0" id="f-605">356,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-94" decimals="-3" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" format="ixt:num-dot-decimal" scale="0" id="f-606">333,000</ix:nonFraction> respectively.  For the nine-month period ended October&#160;31, 2023 and 2022, the compensation costs incurred for employer match, which is paid in the form of Company stock, was $<ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" format="ixt:num-dot-decimal" scale="0" id="f-607">1,078,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-95" decimals="-3" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" format="ixt:num-dot-decimal" scale="0" id="f-608">985,000</ix:nonFraction> respectively.</span></div></ix:continuation><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-571-3">        .</ix:continuation>  </span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_79"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 12. <ix:nonNumeric contextRef="c-1" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="f-609" continuedAt="f-609-1" escape="true">Warranty Accrual</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-609-1"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides a warranty against all substantial defects in material and workmanship. The standard warranty offered on products sold through January 31, 2013 is <ix:nonNumeric contextRef="c-96" name="virc:ProductWarranty" format="ixt-sec:durwordsen" id="f-610">ten years</ix:nonNumeric>. Effective February 1, 2014 the Company modified its warranty to a limited lifetime warranty. The warranty was effective February 1, 2014, is not anticipated to have a significant effect on warranty expense. Effective January 1, 2017, the Company modified the standard warranty offered on products sold after January 1, 2017 to provide specific warranty periods by product component, with no warranty period longer than <ix:nonNumeric contextRef="c-96" name="virc:ProductWarranty" format="ixt-sec:durwordsen" id="f-611">ten years</ix:nonNumeric>. The Company&#8217;s warranty is not a guarantee of service life, which depends upon events outside the Company&#8217;s control and may be different from the warranty period. The Company accrues an estimate of its exposure to warranty claims based upon both product sales data and an analysis of actual warranty claims incurred.  </span></div><div><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="f-612" escape="true"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of the Company&#8217;s warranty-claim activity for the three and nine months ended October&#160;31, 2023 and 2022:</span></div><div style="margin-bottom:6pt;margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:38.338%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.671%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.671%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.375%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.527%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:ProductWarrantyAccrual" scale="3" id="f-613">600</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-27" decimals="-3" name="us-gaap:ProductWarrantyAccrual" scale="3" id="f-614">650</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ProductWarrantyAccrual" scale="3" id="f-615">600</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:ProductWarrantyAccrual" scale="3" id="f-616">600</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="3" id="f-617">54</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="3" id="f-618">106</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="3" id="f-619">145</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="3" id="f-620">256</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs incurred</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProductWarrantyExpense" scale="3" id="f-621">54</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProductWarrantyExpense" scale="3" id="f-622">56</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProductWarrantyExpense" scale="3" id="f-623">145</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ProductWarrantyExpense" scale="3" id="f-624">156</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:ProductWarrantyAccrual" scale="3" id="f-625">600</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ProductWarrantyAccrual" scale="3" id="f-626">700</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:ProductWarrantyAccrual" scale="3" id="f-627">600</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ProductWarrantyAccrual" scale="3" id="f-628">700</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="text-align:center"><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_82"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 13.  <ix:nonNumeric contextRef="c-1" name="us-gaap:LossContingencyDisclosures" id="f-629" continuedAt="f-629-1" escape="true">Contingencies</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-629-1" continuedAt="f-629-2"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has a self-insured retention for product losses up to $<ix:nonFraction unitRef="usd" contextRef="c-97" decimals="INF" name="virc:SelfInsuranceRetention" format="ixt:num-dot-decimal" scale="0" id="f-630">250,000</ix:nonFraction> per occurrence, workers&#8217; compensation liability losses up to $<ix:nonFraction unitRef="usd" contextRef="c-98" decimals="INF" name="virc:SelfInsuranceRetention" format="ixt:num-dot-decimal" scale="0" id="f-631">250,000</ix:nonFraction> per occurrence, general liability losses up to $<ix:nonFraction unitRef="usd" contextRef="c-99" decimals="INF" name="virc:SelfInsuranceRetention" format="ixt:num-dot-decimal" scale="0" id="f-632">50,000</ix:nonFraction> per occurrence and automobile liability losses up to </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="f-629-2"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="c-100" decimals="INF" name="virc:SelfInsuranceRetention" format="ixt:num-dot-decimal" scale="0" id="f-633">50,000</ix:nonFraction> per occurrence. The Company has purchased insurance to cover losses in excess of the self-insurance retention or deductible up to a limit of $<ix:nonFraction unitRef="usd" contextRef="c-101" decimals="INF" name="virc:SelfInsuranceRetention" format="ixt:num-dot-decimal" scale="0" id="f-634">30,000,000</ix:nonFraction>. The Company has obtained an actuarial estimate of its total expected future losses for liability claims and recorded a liability equal to the net present value.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company and its subsidiaries are defendants in various legal proceedings resulting from operations in the normal course of business. It is the opinion of management, in consultation with legal counsel, that the ultimate outcome of all such matters will not materially affect the Company&#8217;s financial position, results of operations or cash flows.</span></div></ix:continuation><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_85"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 14.  <ix:nonNumeric contextRef="c-1" name="virc:DeliveryCostsTextBlock" id="f-635" continuedAt="f-635-1" escape="true">Delivery Costs</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-635-1"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended October&#160;31, 2023 and 2022, shipping and classroom delivery costs of approximately $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="0" name="virc:ShippingAndClassroomDeliveryCosts" format="ixt:num-dot-decimal" scale="0" id="f-636">8,634,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="0" name="virc:ShippingAndClassroomDeliveryCosts" format="ixt:num-dot-decimal" scale="0" id="f-637">8,393,000</ix:nonFraction>, respectively, were included in selling, general and administrative expenses in the accompanying condensed consolidated statements of operations.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended October&#160;31, 2023 and 2022, shipping and classroom delivery costs of approximately $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="0" name="virc:ShippingAndClassroomDeliveryCosts" format="ixt:num-dot-decimal" scale="0" id="f-638">21,968,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="0" name="virc:ShippingAndClassroomDeliveryCosts" format="ixt:num-dot-decimal" scale="0" id="f-639">18,776,000</ix:nonFraction>, respectively, were included in selling, general and administrative expenses in the accompanying condensed consolidated statements of operations.</span></div></ix:continuation><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_88"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 15.  <ix:nonNumeric contextRef="c-1" name="us-gaap:SubsequentEventsTextBlock" id="f-640" continuedAt="f-640-1" escape="true">Subsequent Events</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="f-640-1"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December&#160;5, 2023, the Company&#8217;s Board of Directors declared a cash dividend for the Company&#8217;s fourth fiscal quarter of $<ix:nonFraction unitRef="usdPerShare" contextRef="c-102" decimals="2" name="us-gaap:DividendsPayableAmountPerShare" scale="0" id="f-641">0.02</ix:nonFraction> on each outstanding share of common stock. The dividend is payable on January&#160;10, 2024 </span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to stockholders of record of the common stock as of the close of business on </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;22, 2023. </span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">While the Company </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">intends to pay future dividends on a quarterly basis, following review and approval by the Board of Directors, </span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the declaration and payment of future dividends, as well as the amounts thereof, are subject to the discretion of the Board as well as restrictive covenants in the Company&#8217;s lending agreements. There can be no assurance that the Company will declare and pay dividends in future periods.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, the Board of Directors has authorized </span><span style="color:#404040;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the repurchase of up to</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> $<ix:nonFraction unitRef="shares" contextRef="c-102" decimals="0" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" format="ixt:num-dot-decimal" scale="0" id="f-642">5,000,000</ix:nonFraction> </span><span style="color:#404040;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of the Company&#8217;s common stock.  Repurchases may be made at management&#8217;s discretion from time to time </span><span style="background-color:#ffffff;color:#1f1f1f;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">through open market purchases, in privately negotiated transactions, or by other means, including through the use of trading plans intended to qualify under Rule 10b5-1 under the Securities Exchange Act of 1934, as amended, in accordance with applicable securities laws and other restrictions. The timing and total amount of stock repurchases will depend upon business, economic and market conditions, corporate, legal and regulatory requirements, prevailing stock prices, trading volume, and other considerations. </span><span style="color:#404040;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The repurchase program has no time limit and may be suspended for periods or discontinued at any time.  </span><span style="background-color:#ffffff;color:#1f1f1f;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company expects to utilize its existing cash and cash equivalents to fund repurchases under the share repurchase program</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div></ix:continuation><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_91"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 2. Management's Discussion and Analysis of Financial Condition and Results of Operations</span></div><div style="margin-bottom:6pt;margin-top:6pt"><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_94"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of operations for the three-month and nine-month periods ended October 31, 2023 and the comparable periods ended October 31, 2022 have been impacted by economic conditions driven by the COVID-19 pandemic and global supply chain disruptions.  The impact of COVID-19 has been quite different during the current year compared to the prior years.  Typically, the Company has an exceptionally seasonal annual cycle where approximately 50% of sales occur in the months of June, July and August.  Orders received from customers follow a similar but less pronounced cycle.  The Company typically receives orders for projects several months in advance of delivery, while smaller orders for fill in or replacements are typically received 4-6 weeks prior to delivery. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the months of June, July, and August of 2021, the Company was severely impacted by shortages of labor and materials.  The Company delivered less than 40% of annual shipments during the traditional summer season.  During the months of June, July, and August of 2022 the Company substantially returned to the traditional seasonal cycle and delivered approximately 47% of sales.  For the three months of June, July, and August 2023 the Company believes that there has been a full return to the traditional seasonal summer peak.  The Company began the three-month period of June, July, and August of 2023 with a larger backlog of orders for summer delivery, nearly $20 million of increased inventory (as of April 30, 2023) and adequate availability of both full time and temporary labor to service the summer delivery season.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the quarter ended April 30, 2023, the Company had experienced a 10.4% increase in orders compared to the same quarter in 2022, most of which were for summer of 2023 delivery.  During the quarter ended July 31, 2023, the Company experienced a 3.3% increase in orders compared to the same quarter in 2022.  During a seasonally light third quarter ended October 31, 2023 the Company experienced a 25.0% increase in orders compared to the same quarter in 2022.  During the first nine months of fiscal 2023, the Company experienced a 10.3% increase in orders compared to the same period in 2022. In addition, the Company started the current fiscal year with an order backlog that was approximately $18 million greater than the prior year.  This caused the Company&#8217;s backlog of unshipped orders when entering the traditional seasonal period at April 30, 2023 compared to April 30, 2022 to increase by nearly $19 million to $104.6 million compared to $85.7 million.  The largest portion of this increased backlog was delivered during the second quarter ended July 31, 2023 with the balance delivered during the third quarter ended October 31, 2023. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The increase in sales for the third quarter ended October 31, 2023 was attributable to improved on time delivery of orders and increased order rates during the third quarter.  The Company&#8217;s backlog of unshipped sales orders at October 31, 2023 declined by $2.3 million to $42.5 million compared to $44.8 million in the prior year.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Three Months Ended October 31, 2023</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended October 31, 2023, the Company earned pre-tax income of $13.5 million on sales of $84.2 million compared to a pre-tax income of $8.2 million on sales of $77.4 million in the prior year.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales for the third quarter increased by approximately $6.9 million or 8.9%, compared to the same period in 2022.  The increase was attributable to an improvement in on-time deliveries during the traditional summer season and increased order rates during the third quarter.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross margin for the third quarter ended October 31, 2023 was 45.4% compared to 39.8% in the prior year.  The increase in margin was attributable to the price increases, relatively stable commodity costs, and an increase in sales which include Virco full service.  The increase in full-service orders improves gross margin, but does require increased freight and service costs, which are included in selling, general and administrative expenses.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling, general and administrative expenses for the three months ended October 31, 2023 increased by approximately $1.5 million but was slightly lower as a percentage of sales compared to the same period last year.  The increase in selling, general and administrative expenses was attributable in part to increased variable freight and service expense attributable to a larger portion of full-service orders, and increased variable selling expenses.  </span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest expense increased by $0.2 million for the three months ended October 31, 2023 compared to the same period last year.  The increase was primarily attributable to an increase in the amount borrowed in 2023 to finance seasonal working capital and an increase in interest rates.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended October 31, 2023 and 2022, the effective income tax rates were 24.5% and 3.9%, respectively.  The lower effective tax rate in 2022 was due primarily to the recording of a valuation allowance needed for federal deferred tax assets and certain state net operating loss carryforwards, which commenced in the fourth quarter of fiscal year ended January 31, 2022 and continued through the period ended October 31, 2022.  The increase in the effective tax rate for the third quarter ended October 31, 2023 was primarily due to the reversal of the valuation allowance at January 31, 2023.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Nine Months Ended October 31, 2023</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended October 31, 2023 the Company earned a pre-tax profit of $31.9 million on sales of $226.5 million compared to a pre-tax profit of $12.8 million on sales of $192.3 million in the prior year.  Net sales increased by approximately $34.2 million or 17.8%.  The increase was attributable to an increase in beginning of year sales backlog, increased order rates, a price increase for orders received after January 1, 2023 and July 1, 2022, and by the Company&#8217;s ability to service the traditional seasonal cycle.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross margin for the first nine months of fiscal 2024 was 44.1% compared to 37.6% in the prior year.  The margin was affected by price increases on July 1, 2022 and January 1, 2023, combined with relatively stable costs for raw materials and labor expenses, and an increase in business which included Virco full service.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling, general and administrative expenses for the nine months ended October 31, 2023 increased by $8.2 million compared to the same period last year but decreased as a percentage of sales.  The increase in selling, general and administrative expenses was attributable to an increase in orders which include Virco full service, increased variable freight and service expenses, and variable selling expenses.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest expense increased by $0.9 million for the nine months ended October 31, 2023 compared to the same period last year.  The increase was primarily attributable to an increase in the amount borrowed in 2023 to finance seasonal working capital and an increase in interest rates.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended October 31, 2023 and 2022, the effective income tax rates were 24.0% and 2.6%, respectively.  The lower effective tax rate in 2022 was due primarily to the recording of a valuation allowance needed for federal deferred tax assets and certain state net operating loss carryforwards which commenced in the fourth quarter of fiscal year ended January 31, 2022 and continued through the period ended October 31, 2022.  The increase in the effective tax rate for the nine months ended October 31, 2023 was primarily due to the reversal of the valuation allowance at January 31, 2023.</span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_97"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and Capital Resources</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The market for education furniture is extremely seasonal and approximately 50% of the Company's annual sales volume is shipped in the months of June through August of each year.  The Company traditionally manufactures large quantities of inventory during the first and second quarters of each fiscal year in anticipation of seasonally high summer shipments.  In addition, the Company finances a large balance of accounts receivable during the peak season.  As discussed above, due to COVID-19, during fiscal 2021 and 2022 the Company incurred supply chain disruptions and labor shortages which adversely affected the Company&#8217;s ability to service the traditional summer delivery window.  The Company believes that the Company&#8217;s ability to service the traditional seasonal sales cycle has returned and will continue through the remainder of this fiscal year.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable increased by $5.0 million at October 31, 2023 compared to the same period last year.  The increase is attributable to increased sales in the quarter ended October 31, 2023.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory increased by $1.5 million at October 31, 2023 compared to October 31, 2022.  The increase is primarily attributable to increased cost, not increased quantity.  The increase in inventory was financed by cash flow from operations.  Traditional sources of financing, including borrowing under the Company&#8217;s line of credit with PNC Bank and vendor credit declined.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrual basis capital expenditures for the nine months ended October 31, 2023 were $4.1 million compared to $2.7 million for the same period last year. Capital expenditures are being financed through the Company's credit facility with PNC Bank and operating cash flow and restricted to not exceed $8 million per year by covenant.</span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The Company was in violation of its financial covenants under the Restated Credit Agreement as of January 31, 2022, due to an increase in the Company&#8217;s net loss primarily attributable to the effects of supply chain disruptions and labor shortages.  On April 15, 2022, the Company entered into Amendment No. 2 to the Revolving Credit and Security Agreement with PNC Bank, which implemented certain changes to the Company&#8217;s credit facility with PNC Bank, including the extension of the final maturity date of the facility to April 15, 2027.  On May 19, 2023, the Company entered into Amendment No. 3 which increased the borrowing limit to $72.5 million during the peak seasonal period from June through August 2023.  See </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Note 7. Debt of Notes to Unaudited Consolidated Financial Statements</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"> under Item 1 of this Quarterly Report on Form 10-Q.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on the Company&#8217;s current projections, raw material costs and its ability to introduce price increases, management believes it will maintain compliance with its financial covenants under the Credit Agreement, although risks and uncertainties remain, such as changes in economic conditions, changing raw material costs and supply chain challenges.  The Company was in compliance with its debt covenants as of October 31, 2023.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company believes that cash flows from operations, together with the Company's unused borrowing capacity with PNC Bank will be sufficient to fund the Company's debt service requirements, capital expenditures and working capital needs for the next twelve months. </span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_100"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Off Balance Sheet Arrangements</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_103"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical Accounting Policies and Estimates</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's critical accounting policies are outlined in its Annual Report on Form 10-K for the fiscal year ended January&#160;31, 2023.</span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_106"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Forward-Looking Statements</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, including in this Quarterly Report on Form 10-Q for the quarterly period ended October&#160;31, 2023, the Company or its representatives have made and may make forward-looking statements, orally or in writing. Such forward-looking statements may be included in, without limitation, reports to stockholders, press releases, oral statements made with the approval of an authorized executive officer of the Company and filings with the Securities and Exchange Commission ("SEC").  The words or phrases &#8220;anticipates,&#8221; &#8220;expects,&#8221; &#8220;will continue,&#8221; &#8220;believes,&#8221; &#8220;estimates,&#8221; &#8220;projects,&#8221; or similar expressions are intended to identify &#8220;forward-looking statements&#8221; within the meaning of the Private Securities Litigation Reform Act of 1995.  The results contemplated by the Company's forward-looking statements are subject to certain risks and uncertainties that could cause actual results to vary materially from anticipated results, including without limitation, availability of funding for educational institutions, availability and cost of materials, availability and cost of labor, demand for the Company's products, competitive conditions affecting selling prices and margins, capital costs and general economic conditions. Such risks and uncertainties are discussed in more detail in the Company's Form 10-K for the fiscal year ended January&#160;31, 2023, including under the caption "Risk Factors".</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's forward-looking statements represent its judgment only on the dates such statements were made. By making any forward-looking statements, the Company assumes no duty to update them to reflect new, changed or unanticipated events or circumstances.</span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_109"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;3. Quantitative and Qualitative Disclosures about Market Risk</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is a smaller reporting company as defined by Rule 12b-2 of the Exchange Act, and is therefore not required to provide the information under this item.</span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_112"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;4. Controls and Procedures</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Evaluation of Disclosure Controls and Procedures</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company carried out an evaluation, under the supervision and with the participation of the Company's management, including its Principal Executive Officer along with its Principal Financial Officer, of the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rules 13a-15(e) under the Securities Exchange Act of 1934 (&#8220;Exchange Act&#8221;) as of October&#160;31, 2023. Based upon the foregoing, the Company's Principal Executive Officer along with the Company's Principal Financial Officer concluded that the Company's disclosure controls and procedures as of such date were </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">effective to ensure that the information required to be disclosed in the Company&#8217;s Exchange Act reports is recorded, processed, summarized and reported within the time periods specified in the SEC&#8217;s rules and forms, and that such information is accumulated and communicated to Company management, including its Principal Executive Officer and Principal Financial Officer, as appropriate, to allow timely decisions regarding required disclosure. In designing and evaluating the disclosure controls and procedures, Company management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving the desired control objectives, and management necessarily is required to apply its judgment in evaluating the cost-benefit relationship of possible controls and procedures.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Changes in Internal Control Over Financial Reporting</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company carried out an evaluation, under the supervision and with the participation of the Company's management, including its Principal Executive Officer along with its Principal Financial Officer</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of the effectiveness of the design and operation of disclosure controls and procedures. Based upon the foregoing, the Company's Principal Executive Officer along with the Company's Principal Financial Officer concluded that the Company's disclosure controls and procedures (as such term is defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended) were effective as of the end of the period covered by this Quarterly Report on Form 10-Q.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no changes in the Company's internal control over financial reporting during the fiscal quarter covered by this quarterly report on Form 10-Q that have materially affected, or are reasonably likely to materially affect, its internal control over financial reporting.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_115"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART II &#8212; Other Information</span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Virco Mfg. Corporation</span></div><div style="text-align:center"><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_118"></div><div style="margin-top:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;1. Legal Proceedings</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is a party to various legal actions arising in the ordinary course of business which, in the opinion of the Company, are not material in that management either expects that the Company will be successful on the merits of the pending cases or that any liabilities resulting from such cases will be substantially covered by insurance.  While it is impossible to estimate with certainty the ultimate legal and financial liability with respect to these actions, management believes that the aggregate amount of such liabilities will not be material to the results of operations, financial position, or cash flows of the Company.</span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_121"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;1A. Risk Factors</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">You should carefully consider and evaluate the information in this Quarterly Report and the risk factors set forth under the caption &#8220;Item 1A. Risk Factors&#8221; in our Annual Report on Form 10-K for the fiscal year ended January&#160;31, 2023 (the &#8220;Form 10-K&#8221;), which was filed with the SEC on April 28, 2023.  The risk factors associated with our business have not materially changed compared to the risk factors disclosed in the Form 10-K.  </span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_124"></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;2. <a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:none" href="#i7a0adf6c77b4420ebef51ea0123b40ab_124">Unregistered Sales of Equity Securities, Use of Proceeds and Issuer Purchases of Equity Securities</a></span></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="margin-bottom:6pt;margin-top:6pt"><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_127"></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;3. Defaults Upon Senior Securities </span></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="margin-bottom:6pt;margin-top:6pt"><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_130"></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;4. Mine Safety Disclosures </span></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div style="margin-bottom:6pt;margin-top:6pt"><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_133"></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;5. Other Information </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the fiscal quarter ended October&#160;31, 2023, no director or officer of the Company adopted or terminated a "Rule 10b5-1 trading arrangement" or "non-Rule 10b5-1 trading arrangement," as each term is defined in Item 408(a) of Regulation S-K, nor has the Company adopted or terminated a "Rule 10-b5-1 trading arrangement.".</span></div><div><span><br/></span></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_136"></div><div style="-sec-extract:summary;margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;6. Exhibits</span></div><div style="margin-bottom:6pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"><tr><td style="width:1.0%"></td><td style="width:8.495%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.305%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Number</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Document</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">31.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="virc-20231031xex311ng.htm">Certification of Robert A. Virtue, Chief Executive Officer, pursuant to Rules 13a-14 and 15d-14 of the Securities Exchange Act, as adopted pursuant to section 302 of the Sarbanes-Oxley Act of 2002.</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">31.2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="virc-20231031xex312ng.htm">Certification of Robert E. Dose, Vice President, Finance, pursuant to Rules 13a-14 and 15d-14 of the Securities Exchange Act, as adopted pursuant to section 302 of the Sarbanes-Oxley Act of 2002.</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">32.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="virc-20231031xex321ng.htm">Certifications of Principal Executive Officer and Principal Financial Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></div></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exhibit&#160;101.INS &#8212; XBRL Instance Document.</span></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exhibit&#160;101.SCH &#8212; XBRL Taxonomy Extension Schema Document.</span></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exhibit&#160;101.CAL &#8212; XBRL Taxonomy Extension Calculation Linkbase Document.</span></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exhibit&#160;101.LAB &#8212; XBRL Taxonomy Extension Label Linkbase Document.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exhibit&#160;101.PRE &#8212; XBRL Taxonomy Extension Presentation Linkbase Document.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><div id="i7a0adf6c77b4420ebef51ea0123b40ab_139"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">SIGNATURES </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-bottom:1pt;margin-top:6pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:53.219%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.170%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:39.311%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">VIRCO MFG. CORPORATION</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date: December 8, 2023</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Robert E. Dose</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Robert E. Dose</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Vice President &#8212; Finance</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(Principal Financial Officer)</span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:1pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>virc-20231031xex311ng.htm
<DESCRIPTION>EX-31.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i1b5f6be310c94b3bb28817e4f7a58a33_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.1 </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATIONS </font></div><div style="margin-bottom:5pt;margin-top:5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Robert A. Virtue, certify that&#58; </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1. I have reviewed this Form 10-Q of Virco Mfg. Corporation&#59; </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59; </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59; </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4. The registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58; </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59; </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59; </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(c) Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(d) Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5. The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58; </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting. </font></div><div style="margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.988%"><tr><td style="width:1.0%"></td><td style="width:45.118%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:52.682%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Robert A. Virtue</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Robert A. Virtue</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;  December 8, 2023<br></font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Chief Executive Officer and Chairman of the Board (Principal Executive Officer)</font></td></tr></table></div><div style="margin-bottom:5pt"><font><br></font></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>virc-20231031xex312ng.htm
<DESCRIPTION>EX-31.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="iac51c5659902438ba7cb47489b5e4b91_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.2 </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATIONS </font></div><div style="margin-bottom:5pt;margin-top:5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Robert E. Dose, certify that&#58; </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1. I have reviewed this Form 10-Q of Virco Mfg. Corporation&#59; </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59; </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59; </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4. The registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58; </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59; </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59; </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(c) Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(d) Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5. The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58; </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and </font></div><div style="margin-bottom:5pt;margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting. </font></div><div style="margin-top:5pt;padding-left:13.5pt;text-indent:13.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.988%"><tr><td style="width:1.0%"></td><td style="width:45.118%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:52.682%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Robert E. Dose</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Robert E. Dose</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;  December 8, 2023</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Vice President &#8212; Finance, Secretary and Treasurer (Principal Financial Officer)</font></td></tr></table></div><div><font><br></font></div><div style="text-align:center"><font><br></font></div><div style="margin-bottom:5pt;margin-top:5pt"><font><br></font></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>virc-20231031xex321ng.htm
<DESCRIPTION>EX-32.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i29c09047b75d4b6e8b2d2430b715ccaa_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 32.1 </font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION PURSUANT TO </font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">18 U.S.C. SECTION 1350, </font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">AS ADOPTED PURSUANT TO </font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002 </font></div><div style="text-align:center"><font><br></font></div><div style="margin-bottom:5pt;margin-top:5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Each of the undersigned hereby certifies, in his capacity as an officer of Virco Mfg. Corporation (the &#8220;Company&#8221;), for purposes of 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to his own knowledge&#58; </font></div><div style="margin-top:9pt;padding-left:63pt;text-indent:-22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19pt">The Quarterly Report of the Company on Form 10-Q for the period ended October 31, 2023, fully complies with the requirements of Section 13(a) of the Securities Exchange Act of 1934&#59; and</font></div><div style="margin-top:9pt;padding-left:63pt;text-indent:-22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19pt">The information contained in such report fairly presents, in all material respects, the financial condition and results of operation of the Company.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Date&#58;  December 8, 2023</font></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.385%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Robert A. Virtue</font></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Robert A. Virtue</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:5pt;margin-top:5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Executive Officer and Chairman of the Board</font></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Executive Officer)</font></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Robert E. Dose</font></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Robert E. Dose</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vice President &#8212; Finance, Secretary and Treasurer</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Financial Officer)</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:4pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A signed original of this written statement required by Section 906 has been provided to Virco Mfg. Corporation and will be retained by Virco Mfg. Corporation and furnished to the Securities and Exchange Commission or its staff upon request. </font></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>virc-20231031.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2023 Workiva-->
<!--r:666446c8-0469-4d73-a94d-625204a07bf5,g:2cbe8862-0ffb-416d-9d12-6eb7bb4dce10-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:virc="http://www.virco.com/20231031" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.virco.com/20231031">
  <xs:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="virc-20231031_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="virc-20231031_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="virc-20231031_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="virc-20231031_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="CoverPage" roleURI="http://www.virco.com/role/CoverPage">
        <link:definition>0000001 - Document - Cover Page</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="UnauditedCondensedConsolidatedBalanceSheets" roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets">
        <link:definition>0000002 - Statement - Unaudited Condensed Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="UnauditedCondensedConsolidatedBalanceSheetsParenthetical" roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical">
        <link:definition>0000003 - Statement - Unaudited Condensed Consolidated Balance Sheets (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="UnauditedCondensedConsolidatedStatementsofIncome" roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome">
        <link:definition>0000004 - Statement - Unaudited Condensed Consolidated Statements of Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss" roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss">
        <link:definition>0000005 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLossParentheticals" roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLossParentheticals">
        <link:definition>0000006 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss) (Parentheticals)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="UnauditedCondensedConsolidatedStatementsofCashFlows" roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows">
        <link:definition>0000007 - Statement - Unaudited Condensed Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="UnauditedConsolidatedStatementsofChangesinStockholdersEquity" roleURI="http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity">
        <link:definition>0000008 - Statement - Unaudited Consolidated Statements of Changes in Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentation" roleURI="http://www.virco.com/role/BasisofPresentation">
        <link:definition>0000009 - Disclosure - Basis of Presentation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SeasonalityandManagementUseofEstimates" roleURI="http://www.virco.com/role/SeasonalityandManagementUseofEstimates">
        <link:definition>0000010 - Disclosure - Seasonality and Management Use of Estimates</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NewAccountingPronouncements" roleURI="http://www.virco.com/role/NewAccountingPronouncements">
        <link:definition>0000011 - Disclosure - New Accounting Pronouncements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRecognition" roleURI="http://www.virco.com/role/RevenueRecognition">
        <link:definition>0000012 - Disclosure - Revenue Recognition</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Inventories" roleURI="http://www.virco.com/role/Inventories">
        <link:definition>0000013 - Disclosure - Inventories</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Leases" roleURI="http://www.virco.com/role/Leases">
        <link:definition>0000014 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Debt" roleURI="http://www.virco.com/role/Debt">
        <link:definition>0000015 - Disclosure - Debt</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxes" roleURI="http://www.virco.com/role/IncomeTaxes">
        <link:definition>0000016 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetlossperShare" roleURI="http://www.virco.com/role/NetlossperShare">
        <link:definition>0000017 - Disclosure - Net loss per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensation" roleURI="http://www.virco.com/role/StockBasedCompensation">
        <link:definition>0000018 - Disclosure - Stock-Based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RetirementPlans" roleURI="http://www.virco.com/role/RetirementPlans">
        <link:definition>0000019 - Disclosure - Retirement Plans</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WarrantyAccrual" roleURI="http://www.virco.com/role/WarrantyAccrual">
        <link:definition>0000020 - Disclosure - Warranty Accrual</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Contingencies" roleURI="http://www.virco.com/role/Contingencies">
        <link:definition>0000021 - Disclosure - Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DeliveryCosts" roleURI="http://www.virco.com/role/DeliveryCosts">
        <link:definition>0000022 - Disclosure - Delivery Costs</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEvents" roleURI="http://www.virco.com/role/SubsequentEvents">
        <link:definition>0000023 - Disclosure - Subsequent Events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesTables" roleURI="http://www.virco.com/role/InventoriesTables">
        <link:definition>0000024 - Disclosure - Inventories (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesTables" roleURI="http://www.virco.com/role/LeasesTables">
        <link:definition>0000025 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtTables" roleURI="http://www.virco.com/role/DebtTables">
        <link:definition>0000026 - Disclosure - Debt (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetincomeperShareTables" roleURI="http://www.virco.com/role/NetincomeperShareTables">
        <link:definition>0000027 - Disclosure - Net income per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationTables" roleURI="http://www.virco.com/role/StockBasedCompensationTables">
        <link:definition>0000028 - Disclosure - Stock-Based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RetirementPlansTables" roleURI="http://www.virco.com/role/RetirementPlansTables">
        <link:definition>0000029 - Disclosure - Retirement Plans (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WarrantyAccrualTables" roleURI="http://www.virco.com/role/WarrantyAccrualTables">
        <link:definition>0000030 - Disclosure - Warranty Accrual (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationDetails" roleURI="http://www.virco.com/role/BasisofPresentationDetails">
        <link:definition>0000031 - Disclosure - Basis of Presentation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SeasonalityDetails" roleURI="http://www.virco.com/role/SeasonalityDetails">
        <link:definition>0000032 - Disclosure - Seasonality (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesDetails" roleURI="http://www.virco.com/role/InventoriesDetails">
        <link:definition>0000033 - Disclosure - Inventories (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesASC842QuantitativeInformationDetails" roleURI="http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails">
        <link:definition>0000034 - Disclosure - Leases - ASC 842 Quantitative Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesASC842MinimumLeasePaymentsDetails" roleURI="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails">
        <link:definition>0000035 - Disclosure - Leases - ASC 842 Minimum Lease Payments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesASC842MinimumLeasePaymentsDetails_1" roleURI="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1">
        <link:definition>0000035 - Disclosure - Leases - ASC 842 Minimum Lease Payments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtLongtermDebtDetails" roleURI="http://www.virco.com/role/DebtLongtermDebtDetails">
        <link:definition>0000036 - Disclosure - Debt (Long-term Debt) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtNarrativeDetails" roleURI="http://www.virco.com/role/DebtNarrativeDetails">
        <link:definition>0000037 - Disclosure - Debt (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesDetails" roleURI="http://www.virco.com/role/IncomeTaxesDetails">
        <link:definition>0000038 - Disclosure - Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetincomeperShareDetails" roleURI="http://www.virco.com/role/NetincomeperShareDetails">
        <link:definition>0000039 - Disclosure - Net income per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationDetails" roleURI="http://www.virco.com/role/StockBasedCompensationDetails">
        <link:definition>0000040 - Disclosure - Stock-Based Compensation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RetirementPlansPeriodicPensionCostDetails" roleURI="http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails">
        <link:definition>0000041 - Disclosure - Retirement Plans (Periodic Pension Cost) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RetirementPlansNarrativeDetails" roleURI="http://www.virco.com/role/RetirementPlansNarrativeDetails">
        <link:definition>0000042 - Disclosure - Retirement Plans (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WarrantyDetails" roleURI="http://www.virco.com/role/WarrantyDetails">
        <link:definition>0000043 - Disclosure - Warranty (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ContingenciesDetails" roleURI="http://www.virco.com/role/ContingenciesDetails">
        <link:definition>0000044 - Disclosure - Contingencies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DeliveryCostsDetails" roleURI="http://www.virco.com/role/DeliveryCostsDetails">
        <link:definition>0000045 - Disclosure - Delivery Costs (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEventsDetails" roleURI="http://www.virco.com/role/SubsequentEventsDetails">
        <link:definition>0000046 - Disclosure - Subsequent Events (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="virc_DividendPayableMaximumAmountInFiscalYear" abstract="false" name="DividendPayableMaximumAmountInFiscalYear" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_WarrantyLineItems" abstract="true" name="WarrantyLineItems" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="virc_OtherDebtMember" abstract="true" name="OtherDebtMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_GeneralLiabilityLossMember" abstract="true" name="GeneralLiabilityLossMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_SurrenderOfLifeInsurancePolicies" abstract="false" name="SurrenderOfLifeInsurancePolicies" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_DeliveryCostsTextBlock" abstract="false" name="DeliveryCostsTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="virc_ProductWarranty" abstract="false" name="ProductWarranty" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="virc_SeasonalityTextualAbstract" abstract="true" name="SeasonalityTextualAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss" abstract="false" name="DefinedBenefitPlanRecognizedNetActuarialGainLoss" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_StockIncentivePlan2019Member" abstract="true" name="StockIncentivePlan2019Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_SeasonalityAbstract" abstract="true" name="SeasonalityAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="virc_PNCMember" abstract="true" name="PNCMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense" abstract="false" name="PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_EquipmentLoanMember" abstract="true" name="EquipmentLoanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_WorkerscompensationLiabilityInsuranceMember" abstract="true" name="WorkerscompensationLiabilityInsuranceMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_DebtInstrumentCovenantPeriodDomain" abstract="true" name="DebtInstrumentCovenantPeriodDomain" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_SharesVestedAndOtherDuringPeriodShares" abstract="false" name="SharesVestedAndOtherDuringPeriodShares" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="virc_SharesVestedAndOtherDuringPeriodValue" abstract="false" name="SharesVestedAndOtherDuringPeriodValue" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_CovenantPeriod1Member" abstract="true" name="CovenantPeriod1Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_AutomobileLiabilityLossMember" abstract="true" name="AutomobileLiabilityLossMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_NoncashRentExpense" abstract="false" name="NoncashRentExpense" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear" abstract="false" name="LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="virc_CreditAgreementAmendmentFee" abstract="false" name="CreditAgreementAmendmentFee" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" abstract="false" name="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_ScheduleOfWarrantyTable" abstract="true" name="ScheduleOfWarrantyTable" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrldt:hypercubeItem" type="xbrli:stringItemType"/>
  <xs:element id="virc_IncrementalCreditLineIncreaseDecrease" abstract="false" name="IncrementalCreditLineIncreaseDecrease" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_LineOfCreditFacilityBorrowingCapacityTerm" abstract="false" name="LineOfCreditFacilityBorrowingCapacityTerm" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_AmendedAndRestatedCreditAgreementMember" abstract="true" name="AmendedAndRestatedCreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_LineOfCreditFacilityBorrowingBaseLimitation" abstract="false" name="LineOfCreditFacilityBorrowingBaseLimitation" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="virc_ProductLiabilityMember" abstract="true" name="ProductLiabilityMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_DefinedContributionPlanNumberOfCommonSharesHeld" abstract="false" name="DefinedContributionPlanNumberOfCommonSharesHeld" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement" abstract="false" name="IncreaseDecreaseInInventorySublimitUnderCreditAgreement" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement" abstract="false" name="IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_InventoryMember" abstract="true" name="InventoryMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_IncrementalCreditLineIncreaseDecreasePercentage" abstract="false" name="IncrementalCreditLineIncreaseDecreasePercentage" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="virc_IncreaseDecreaseApplicableMarginBasisPoints" abstract="false" name="IncreaseDecreaseApplicableMarginBasisPoints" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="virc_LossLiabilityMember" abstract="true" name="LossLiabilityMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="virc_ExtremeSeasonalityGoods" abstract="false" name="ExtremeSeasonalityGoods" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="virc_SeasonalityTextBlock" abstract="false" name="SeasonalityTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="virc_SelfInsuranceRetention" abstract="false" name="SelfInsuranceRetention" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent" abstract="false" name="DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio" abstract="false" name="DebtInstrumentCovenantMinimumFixedChargeCoverageRatio" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent" abstract="false" name="PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_ShippingAndClassroomDeliveryCosts" abstract="false" name="ShippingAndClassroomDeliveryCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="virc_DebtInstrumentCovenantPeriodAxis" abstract="true" name="DebtInstrumentCovenantPeriodAxis" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrldt:dimensionItem" type="xbrli:stringItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>virc-20231031_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2023 Workiva-->
<!--r:666446c8-0469-4d73-a94d-625204a07bf5,g:2cbe8862-0ffb-416d-9d12-6eb7bb4dce10-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedCondensedConsolidatedBalanceSheets"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_3dfca665-7cf2-461a-8a32-0d0bcd802963" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_db0bbf4a-2d5b-4602-bfe9-d8df84bcf8c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_3dfca665-7cf2-461a-8a32-0d0bcd802963" xlink:to="loc_us-gaap_InventoryNet_db0bbf4a-2d5b-4602-bfe9-d8df84bcf8c0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_b252eb42-38fb-4297-90a5-be8572d80ad8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_3dfca665-7cf2-461a-8a32-0d0bcd802963" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_b252eb42-38fb-4297-90a5-be8572d80ad8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Cash_f3d10efb-491c-46a0-9ffb-2507ada032e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_3dfca665-7cf2-461a-8a32-0d0bcd802963" xlink:to="loc_us-gaap_Cash_f3d10efb-491c-46a0-9ffb-2507ada032e1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_a70843c2-cc50-404b-abc4-d5f7465c2fbc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_3dfca665-7cf2-461a-8a32-0d0bcd802963" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_a70843c2-cc50-404b-abc4-d5f7465c2fbc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherReceivablesNetCurrent_bcb4c261-c944-4c7a-9532-9e0ad9969e7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherReceivablesNetCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_3dfca665-7cf2-461a-8a32-0d0bcd802963" xlink:to="loc_us-gaap_OtherReceivablesNetCurrent_bcb4c261-c944-4c7a-9532-9e0ad9969e7f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesReceivable_aec16d4f-8388-43c4-bfcb-4ce938063ab7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesReceivable"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_3dfca665-7cf2-461a-8a32-0d0bcd802963" xlink:to="loc_us-gaap_IncomeTaxesReceivable_aec16d4f-8388-43c4-bfcb-4ce938063ab7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_cb7745bb-09fa-43fc-b3b2-c1611afa1829" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Land_e0cf3818-9b8a-47df-9e96-24fea6053735" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Land"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross_cb7745bb-09fa-43fc-b3b2-c1611afa1829" xlink:to="loc_us-gaap_Land_e0cf3818-9b8a-47df-9e96-24fea6053735" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandImprovements_7c18cd0a-017e-4e16-b4d4-63b686a75e4c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandImprovements"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross_cb7745bb-09fa-43fc-b3b2-c1611afa1829" xlink:to="loc_us-gaap_LandImprovements_7c18cd0a-017e-4e16-b4d4-63b686a75e4c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingsAndImprovementsGross_2f60c970-5ae3-461a-af85-3d9fb31d36bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingsAndImprovementsGross"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross_cb7745bb-09fa-43fc-b3b2-c1611afa1829" xlink:to="loc_us-gaap_BuildingsAndImprovementsGross_2f60c970-5ae3-461a-af85-3d9fb31d36bc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MachineryAndEquipmentGross_3fc030f0-7a0a-4929-a068-2bd9cb114be2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentGross"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross_cb7745bb-09fa-43fc-b3b2-c1611afa1829" xlink:to="loc_us-gaap_MachineryAndEquipmentGross_3fc030f0-7a0a-4929-a068-2bd9cb114be2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsGross_0a280efa-1278-4ba1-96e2-3d8a13365d7e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsGross"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross_cb7745bb-09fa-43fc-b3b2-c1611afa1829" xlink:to="loc_us-gaap_LeaseholdImprovementsGross_0a280efa-1278-4ba1-96e2-3d8a13365d7e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_2b2563be-b9e8-4868-813e-d005c77a3f24" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_3ea8e17b-7637-4715-8b23-37cceb2dceef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_2b2563be-b9e8-4868-813e-d005c77a3f24" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_3ea8e17b-7637-4715-8b23-37cceb2dceef" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_2ed60bb0-ce85-4db4-924c-2e218a99eff2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_2b2563be-b9e8-4868-813e-d005c77a3f24" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_2ed60bb0-ce85-4db4-924c-2e218a99eff2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_06b3d17e-dfcb-45e5-a022-4147005b3949" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_c0969b47-620f-4121-a3ce-84f9caf529d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_06b3d17e-dfcb-45e5-a022-4147005b3949" xlink:to="loc_us-gaap_AssetsCurrent_c0969b47-620f-4121-a3ce-84f9caf529d5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_11140b2f-06b0-4202-9d50-f6f4261847d1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_06b3d17e-dfcb-45e5-a022-4147005b3949" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_11140b2f-06b0-4202-9d50-f6f4261847d1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_02ae29cf-f961-476e-bc5e-1d4bbc6c82e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_06b3d17e-dfcb-45e5-a022-4147005b3949" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_02ae29cf-f961-476e-bc5e-1d4bbc6c82e0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_4303d2f3-c021-4596-aa6d-62add3abf18f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_06b3d17e-dfcb-45e5-a022-4147005b3949" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_4303d2f3-c021-4596-aa6d-62add3abf18f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_b1e40ca5-9f0e-4a6d-8677-47dbb6104404" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_06b3d17e-dfcb-45e5-a022-4147005b3949" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_b1e40ca5-9f0e-4a6d-8677-47dbb6104404" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_8f8164f0-6d03-4092-97c2-9783be68b907" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_d98f5b93-b738-4920-9730-428def93338e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_8f8164f0-6d03-4092-97c2-9783be68b907" xlink:to="loc_us-gaap_StockholdersEquity_d98f5b93-b738-4920-9730-428def93338e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesNoncurrent_ead85419-e91b-4b2f-9306-71b876e07670" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_8f8164f0-6d03-4092-97c2-9783be68b907" xlink:to="loc_us-gaap_LiabilitiesNoncurrent_ead85419-e91b-4b2f-9306-71b876e07670" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_df3a51bb-f77e-4dab-9f9d-0f489d37ab5e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_8f8164f0-6d03-4092-97c2-9783be68b907" xlink:to="loc_us-gaap_LiabilitiesCurrent_df3a51bb-f77e-4dab-9f9d-0f489d37ab5e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_4f905baa-b8a2-44c2-9e24-027c09ce6637" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_8f8164f0-6d03-4092-97c2-9783be68b907" xlink:to="loc_us-gaap_CommitmentsAndContingencies_4f905baa-b8a2-44c2-9e24-027c09ce6637" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_2e237b38-ed82-4adf-a9dd-3622d6730491" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrentAndNoncurrent_433aeacc-2ff5-4987-ae15-fafb04ba7a64" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxesPayableCurrentAndNoncurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_2e237b38-ed82-4adf-a9dd-3622d6730491" xlink:to="loc_us-gaap_TaxesPayableCurrentAndNoncurrent_433aeacc-2ff5-4987-ae15-fafb04ba7a64" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_4b0e0359-e7c7-410c-8566-aa10186aa666" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_2e237b38-ed82-4adf-a9dd-3622d6730491" xlink:to="loc_us-gaap_LongTermDebtCurrent_4b0e0359-e7c7-410c-8566-aa10186aa666" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_b05674dd-0300-4559-9cdd-4aa1fa5d6181" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_2e237b38-ed82-4adf-a9dd-3622d6730491" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_b05674dd-0300-4559-9cdd-4aa1fa5d6181" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_6ba45319-4318-4ade-90cd-1c511eb24e64" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_2e237b38-ed82-4adf-a9dd-3622d6730491" xlink:to="loc_us-gaap_AccountsPayableCurrent_6ba45319-4318-4ade-90cd-1c511eb24e64" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_fbc430be-48b4-4e08-a1ed-dc968a81f639" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_2e237b38-ed82-4adf-a9dd-3622d6730491" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_fbc430be-48b4-4e08-a1ed-dc968a81f639" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_dab58ccd-692b-4d98-8b69-e765d183d4ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_2e237b38-ed82-4adf-a9dd-3622d6730491" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_dab58ccd-692b-4d98-8b69-e765d183d4ef" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_27bc52ab-caec-40d4-91a1-5573a7add892" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_cfad9ccf-5798-44f8-ba43-e46f019589eb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_27bc52ab-caec-40d4-91a1-5573a7add892" xlink:to="loc_us-gaap_PreferredStockValue_cfad9ccf-5798-44f8-ba43-e46f019589eb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_31eb602f-b534-4e7c-a737-27fd561e2d93" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_27bc52ab-caec-40d4-91a1-5573a7add892" xlink:to="loc_us-gaap_CommonStockValue_31eb602f-b534-4e7c-a737-27fd561e2d93" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_70005f81-2671-4b32-8af0-a8cb841bb595" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_27bc52ab-caec-40d4-91a1-5573a7add892" xlink:to="loc_us-gaap_AdditionalPaidInCapital_70005f81-2671-4b32-8af0-a8cb841bb595" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_6675a197-e6e0-40dd-ac2f-c90d132d71af" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_27bc52ab-caec-40d4-91a1-5573a7add892" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_6675a197-e6e0-40dd-ac2f-c90d132d71af" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_5a7b1774-7304-4df3-9d3f-68f0f7cdc231" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_27bc52ab-caec-40d4-91a1-5573a7add892" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_5a7b1774-7304-4df3-9d3f-68f0f7cdc231" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesNoncurrent_6f382190-5894-479e-a215-4aef76df6e47" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SelfInsuranceReserveNoncurrent_a2f1d46d-19c2-49ec-ba1e-0c46fccb2995" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SelfInsuranceReserveNoncurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesNoncurrent_6f382190-5894-479e-a215-4aef76df6e47" xlink:to="loc_us-gaap_SelfInsuranceReserveNoncurrent_a2f1d46d-19c2-49ec-ba1e-0c46fccb2995" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent_003c8b2d-5501-4e8f-b7a3-0f724b118a4a" xlink:href="virc-20231031.xsd#virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesNoncurrent_6f382190-5894-479e-a215-4aef76df6e47" xlink:to="loc_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent_003c8b2d-5501-4e8f-b7a3-0f724b118a4a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_1a480bc5-67b3-4d42-8018-0507e8f00b2f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesNoncurrent_6f382190-5894-479e-a215-4aef76df6e47" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_1a480bc5-67b3-4d42-8018-0507e8f00b2f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesNoncurrent_3b8aa280-f2e7-4ce2-8cad-9d018390b2e7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesNoncurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesNoncurrent_6f382190-5894-479e-a215-4aef76df6e47" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesNoncurrent_3b8aa280-f2e7-4ce2-8cad-9d018390b2e7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_afa45b72-045f-4891-8a79-771b0b0526d7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesNoncurrent_6f382190-5894-479e-a215-4aef76df6e47" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_afa45b72-045f-4891-8a79-771b0b0526d7" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedCondensedConsolidatedStatementsofIncome"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_047fd0c4-5cf4-4291-9684-5c57d076a749" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_91ea5dca-7567-4b5c-925f-c1d62081de09" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_047fd0c4-5cf4-4291-9684-5c57d076a749" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_91ea5dca-7567-4b5c-925f-c1d62081de09" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_eea17df6-2e43-456c-8406-599db949d248" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_047fd0c4-5cf4-4291-9684-5c57d076a749" xlink:to="loc_us-gaap_GrossProfit_eea17df6-2e43-456c-8406-599db949d248" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_9f9c8076-73aa-47f3-ada9-ac8033a852ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent_d6144255-7144-4e94-b107-a8d22d65d42e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_9f9c8076-73aa-47f3-ada9-ac8033a852ce" xlink:to="loc_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent_d6144255-7144-4e94-b107-a8d22d65d42e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrealizedGainLossOnInvestments_79661cf4-c4c5-4c50-ad11-8f0f3a3df8bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrealizedGainLossOnInvestments"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_9f9c8076-73aa-47f3-ada9-ac8033a852ce" xlink:to="loc_us-gaap_UnrealizedGainLossOnInvestments_79661cf4-c4c5-4c50-ad11-8f0f3a3df8bc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_b775128a-eae0-49c5-82e7-05cbfa5b7827" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_9f9c8076-73aa-47f3-ada9-ac8033a852ce" xlink:to="loc_us-gaap_InterestExpense_b775128a-eae0-49c5-82e7-05cbfa5b7827" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_3377674d-90e6-4858-8d8c-2fdc50bbac4f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_9f9c8076-73aa-47f3-ada9-ac8033a852ce" xlink:to="loc_us-gaap_OperatingIncomeLoss_3377674d-90e6-4858-8d8c-2fdc50bbac4f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_d9d98741-e6c0-47d0-a9b7-0755ea044e8d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5e79c055-285b-441c-a6f0-ccd50325eea7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_d9d98741-e6c0-47d0-a9b7-0755ea044e8d" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5e79c055-285b-441c-a6f0-ccd50325eea7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_6d70ef0c-7f89-4bae-809e-2f6904986618" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_d9d98741-e6c0-47d0-a9b7-0755ea044e8d" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_6d70ef0c-7f89-4bae-809e-2f6904986618" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_4b275aeb-c370-4940-b306-04abdbc64ccf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_7b2ed572-1529-4975-b0e1-bcaad426f431" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_4b275aeb-c370-4940-b306-04abdbc64ccf" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_7b2ed572-1529-4975-b0e1-bcaad426f431" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_e9c6d8b9-176c-4807-997e-6795603eeae9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_4b275aeb-c370-4940-b306-04abdbc64ccf" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_e9c6d8b9-176c-4807-997e-6795603eeae9" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_8a09595b-45fe-4c09-8e5f-dd29558677f6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_14e50244-9ea2-46f8-a3a7-98914cdf2b67" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_8a09595b-45fe-4c09-8e5f-dd29558677f6" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_14e50244-9ea2-46f8-a3a7-98914cdf2b67" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_3e7915cf-efce-42dc-9c79-30077bd1bf7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_8a09595b-45fe-4c09-8e5f-dd29558677f6" xlink:to="loc_us-gaap_NetIncomeLoss_3e7915cf-efce-42dc-9c79-30077bd1bf7f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedCondensedConsolidatedStatementsofCashFlows"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_NoncashRentExpense_6655d1ad-0a3b-4d90-a475-822d744b8282" xlink:href="virc-20231031.xsd#virc_NoncashRentExpense"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_virc_NoncashRentExpense_6655d1ad-0a3b-4d90-a475-822d744b8282" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1_5916a334-7b8a-4550-a253-26fce6b49dcc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1_5916a334-7b8a-4550-a253-26fce6b49dcc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_3204eba8-c7ed-4397-bfe6-2298bcad3e25" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_3204eba8-c7ed-4397-bfe6-2298bcad3e25" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_a7aa1659-89cf-435b-849c-2ff0995ed3e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_a7aa1659-89cf-435b-849c-2ff0995ed3e1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_fa6118b0-5e70-4eca-9ea8-4fb419724198" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_fa6118b0-5e70-4eca-9ea8-4fb419724198" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherReceivables_30e9e6f3-da98-49fa-ac1a-ea744c9ecb15" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherReceivables"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherReceivables_30e9e6f3-da98-49fa-ac1a-ea744c9ecb15" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_044f43c8-6589-44fb-ad6e-0edd6292e693" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_044f43c8-6589-44fb-ad6e-0edd6292e693" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_f6509e6d-b0d1-4948-bf80-83fdfdf5d483" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_ShareBasedCompensation_f6509e6d-b0d1-4948-bf80-83fdfdf5d483" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_808dfb50-6132-45ba-8ee6-33b48bbd35af" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_808dfb50-6132-45ba-8ee6-33b48bbd35af" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInIncomeTaxes_df60ee2b-ab88-4dd2-883d-25fe69660064" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInIncomeTaxes"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_IncreaseDecreaseInIncomeTaxes_df60ee2b-ab88-4dd2-883d-25fe69660064" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_e4512dd7-4407-45fc-832b-3f0ec93109a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_e4512dd7-4407-45fc-832b-3f0ec93109a3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SurrenderOfLifeInsurancePolicies_a0056851-b667-42ac-91c5-53e903c05861" xlink:href="virc-20231031.xsd#virc_SurrenderOfLifeInsurancePolicies"/>
    <link:calculationArc order="12" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_virc_SurrenderOfLifeInsurancePolicies_a0056851-b667-42ac-91c5-53e903c05861" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_2b83b4ac-2336-4ac3-8f5b-da2828b9eafc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:calculationArc order="13" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_2b83b4ac-2336-4ac3-8f5b-da2828b9eafc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrealizedGainLossOnInvestments_b335493c-dd31-4fa0-b5d1-3b2d77706481" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrealizedGainLossOnInvestments"/>
    <link:calculationArc order="14" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_UnrealizedGainLossOnInvestments_b335493c-dd31-4fa0-b5d1-3b2d77706481" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_409786ae-6e19-4e11-a681-4b11b068a76e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="15" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_NetIncomeLoss_409786ae-6e19-4e11-a681-4b11b068a76e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCosts_e0c8a966-1d22-4a18-b650-8e907016af80" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts"/>
    <link:calculationArc order="16" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_AmortizationOfFinancingCosts_e0c8a966-1d22-4a18-b650-8e907016af80" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax_593178ed-3e39-4bdd-aa18-c074d63fce76" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax"/>
    <link:calculationArc order="17" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a1ee348c-57ee-4706-8f5a-b6faa02c0bd7" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax_593178ed-3e39-4bdd-aa18-c074d63fce76" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_edf50889-bade-4a00-9110-cf0ed8d35a66" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities_d703b661-1c1e-4398-91cc-cfcf2902dc12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_edf50889-bade-4a00-9110-cf0ed8d35a66" xlink:to="loc_us-gaap_PaymentsToAcquireMarketableSecurities_d703b661-1c1e-4398-91cc-cfcf2902dc12" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLifeInsurancePolicies_6d351609-8168-4e0e-8064-102f81607d86" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLifeInsurancePolicies"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_edf50889-bade-4a00-9110-cf0ed8d35a66" xlink:to="loc_us-gaap_ProceedsFromLifeInsurancePolicies_6d351609-8168-4e0e-8064-102f81607d86" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_617b20d3-22ba-4e21-b9d8-731c1ec17674" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_edf50889-bade-4a00-9110-cf0ed8d35a66" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_617b20d3-22ba-4e21-b9d8-731c1ec17674" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_e305cc36-7e21-425c-a68b-9dd06135e2ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_edf50889-bade-4a00-9110-cf0ed8d35a66" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_e305cc36-7e21-425c-a68b-9dd06135e2ca" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_40e31592-ceb6-4574-b2fc-f8c096d56475" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_32ec83d0-07c6-4c29-8f5e-7cb21a1b9a57" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_40e31592-ceb6-4574-b2fc-f8c096d56475" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_32ec83d0-07c6-4c29-8f5e-7cb21a1b9a57" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0102d99f-19c1-4e96-8ef2-ad44a0004765" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_40e31592-ceb6-4574-b2fc-f8c096d56475" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0102d99f-19c1-4e96-8ef2-ad44a0004765" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_529f138a-78fa-404b-a16b-b8e5b6ea33fa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_40e31592-ceb6-4574-b2fc-f8c096d56475" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_529f138a-78fa-404b-a16b-b8e5b6ea33fa" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_7f6164f8-ad61-49b5-a102-e3fa1bc34e01" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_2735aef9-3226-44b6-bfd2-6681b82a48f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_7f6164f8-ad61-49b5-a102-e3fa1bc34e01" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_2735aef9-3226-44b6-bfd2-6681b82a48f4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_1592caf2-663f-429d-8fbb-964025934a09" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_7f6164f8-ad61-49b5-a102-e3fa1bc34e01" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_1592caf2-663f-429d-8fbb-964025934a09" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_64fd7f26-c8e3-462f-be3b-a84944c493e6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_7f6164f8-ad61-49b5-a102-e3fa1bc34e01" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_64fd7f26-c8e3-462f-be3b-a84944c493e6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfFinancingCosts_ccfaac84-fd9d-4d56-9a93-fe6fead40d29" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfFinancingCosts"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_7f6164f8-ad61-49b5-a102-e3fa1bc34e01" xlink:to="loc_us-gaap_PaymentsOfFinancingCosts_ccfaac84-fd9d-4d56-9a93-fe6fead40d29" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/InventoriesDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#InventoriesDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/InventoriesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_27bd67fa-adfc-4255-b14a-e11357a14721" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_9eba6621-d266-4b81-a981-a0da58c9662e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_27bd67fa-adfc-4255-b14a-e11357a14721" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_9eba6621-d266-4b81-a981-a0da58c9662e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_48053a6a-3fab-4f71-b44d-cecca7d33220" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_27bd67fa-adfc-4255-b14a-e11357a14721" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_48053a6a-3fab-4f71-b44d-cecca7d33220" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_3229877f-f1c3-45a3-9a59-abf262575ba0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_27bd67fa-adfc-4255-b14a-e11357a14721" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_3229877f-f1c3-45a3-9a59-abf262575ba0" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#LeasesASC842QuantitativeInformationDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_f5e48711-9db9-4e26-ad15-8f1866c9cfa1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_f44a1ffa-39f4-43ab-989a-f60b55954fd1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_f5e48711-9db9-4e26-ad15-8f1866c9cfa1" xlink:to="loc_us-gaap_OperatingLeaseCost_f44a1ffa-39f4-43ab-989a-f60b55954fd1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost_334c926f-0988-4d72-bc5c-924daa775021" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_f5e48711-9db9-4e26-ad15-8f1866c9cfa1" xlink:to="loc_us-gaap_ShortTermLeaseCost_334c926f-0988-4d72-bc5c-924daa775021" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome_b520f278-d11d-4511-8982-d16d03de2476" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubleaseIncome"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_f5e48711-9db9-4e26-ad15-8f1866c9cfa1" xlink:to="loc_us-gaap_SubleaseIncome_b520f278-d11d-4511-8982-d16d03de2476" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_45b923b4-9703-45e4-805d-44c3dae8a665" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableLeaseCost"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_f5e48711-9db9-4e26-ad15-8f1866c9cfa1" xlink:to="loc_us-gaap_VariableLeaseCost_45b923b4-9703-45e4-805d-44c3dae8a665" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#LeasesASC842MinimumLeasePaymentsDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_43aaf1c2-9418-46d6-9ca3-bf8f1c28f682" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_f35f6bd9-a86b-41b8-b036-f3f0024cb59f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_43aaf1c2-9418-46d6-9ca3-bf8f1c28f682" xlink:to="loc_us-gaap_OperatingLeaseLiability_f35f6bd9-a86b-41b8-b036-f3f0024cb59f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_60bfcbc3-1014-40e8-be5b-70e0ab47bea6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_43aaf1c2-9418-46d6-9ca3-bf8f1c28f682" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_60bfcbc3-1014-40e8-be5b-70e0ab47bea6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_707c73df-a1f9-4053-91c9-cc48d37e3a05" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_47eb3a79-b2a7-419a-a454-16141737fe18" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_707c73df-a1f9-4053-91c9-cc48d37e3a05" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_47eb3a79-b2a7-419a-a454-16141737fe18" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_59f0d2a9-bd8a-4843-8ed0-932669b87956" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_707c73df-a1f9-4053-91c9-cc48d37e3a05" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_59f0d2a9-bd8a-4843-8ed0-932669b87956" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1" xlink:type="simple" xlink:href="virc-20231031.xsd#LeasesASC842MinimumLeasePaymentsDetails_1"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1e9e3c2c-1fdb-498e-ad6b-59a278488d5e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_0b51f351-1900-452d-b117-b160e3fc50c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1e9e3c2c-1fdb-498e-ad6b-59a278488d5e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_0b51f351-1900-452d-b117-b160e3fc50c1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_9a54f998-e5a9-4916-886d-848c870fb89f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1e9e3c2c-1fdb-498e-ad6b-59a278488d5e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_9a54f998-e5a9-4916-886d-848c870fb89f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_b9fa220d-8142-44b9-af3c-560900fc88fd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1e9e3c2c-1fdb-498e-ad6b-59a278488d5e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_b9fa220d-8142-44b9-af3c-560900fc88fd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_19230835-f0e3-4ee8-be1d-0a981cfbbb51" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1e9e3c2c-1fdb-498e-ad6b-59a278488d5e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_19230835-f0e3-4ee8-be1d-0a981cfbbb51" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_fa5dced7-32c1-48aa-a34b-116f62a88807" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1e9e3c2c-1fdb-498e-ad6b-59a278488d5e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_fa5dced7-32c1-48aa-a34b-116f62a88807" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_75342ddd-589f-4ae1-9095-e5deb6d1f330" xlink:href="virc-20231031.xsd#virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1e9e3c2c-1fdb-498e-ad6b-59a278488d5e" xlink:to="loc_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_75342ddd-589f-4ae1-9095-e5deb6d1f330" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/DebtLongtermDebtDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#DebtLongtermDebtDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/DebtLongtermDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_5610b2b6-761e-4367-b1e3-c780f2cfb1ed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_37f85020-fdac-49d0-af16-5d8fa4d51a2e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_5610b2b6-761e-4367-b1e3-c780f2cfb1ed" xlink:to="loc_us-gaap_LongTermDebtCurrent_37f85020-fdac-49d0-af16-5d8fa4d51a2e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_07f58ae6-8354-4baa-b7bf-5323ba475e66" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_5610b2b6-761e-4367-b1e3-c780f2cfb1ed" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_07f58ae6-8354-4baa-b7bf-5323ba475e66" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/NetincomeperShareDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#NetincomeperShareDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/NetincomeperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_4b3bfc0c-6425-4577-9c00-5f61aa97cceb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_a99f0c0d-8be5-41c0-9f48-83306bf9f52e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_4b3bfc0c-6425-4577-9c00-5f61aa97cceb" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_a99f0c0d-8be5-41c0-9f48-83306bf9f52e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_5cb9b3e9-ddec-4a80-9515-b63e240e9290" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_4b3bfc0c-6425-4577-9c00-5f61aa97cceb" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_5cb9b3e9-ddec-4a80-9515-b63e240e9290" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#RetirementPlansPeriodicPensionCostDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_256fda9f-9c81-4294-81d4-b29d1cdcab03" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanServiceCost_91b7743f-11af-4630-b50e-9d85a874e9a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanServiceCost"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_256fda9f-9c81-4294-81d4-b29d1cdcab03" xlink:to="loc_us-gaap_DefinedBenefitPlanServiceCost_91b7743f-11af-4630-b50e-9d85a874e9a8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_7b616256-25ce-4688-b720-1403987ad061" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_256fda9f-9c81-4294-81d4-b29d1cdcab03" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_7b616256-25ce-4688-b720-1403987ad061" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_b19d3b4d-3b5d-4d2a-8195-f1b494b3368d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_256fda9f-9c81-4294-81d4-b29d1cdcab03" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_b19d3b4d-3b5d-4d2a-8195-f1b494b3368d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement_4d260657-01e5-4742-ae4c-8c6d429cb2fe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_256fda9f-9c81-4294-81d4-b29d1cdcab03" xlink:to="loc_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement_4d260657-01e5-4742-ae4c-8c6d429cb2fe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_237671e0-b04f-4bbc-9fe1-e3e784608735" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_256fda9f-9c81-4294-81d4-b29d1cdcab03" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_237671e0-b04f-4bbc-9fe1-e3e784608735" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss_c035f5a0-dba7-4524-a1b5-da26fd394f25" xlink:href="virc-20231031.xsd#virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_256fda9f-9c81-4294-81d4-b29d1cdcab03" xlink:to="loc_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss_c035f5a0-dba7-4524-a1b5-da26fd394f25" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>virc-20231031_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2023 Workiva-->
<!--r:666446c8-0469-4d73-a94d-625204a07bf5,g:2cbe8862-0ffb-416d-9d12-6eb7bb4dce10-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedConsolidatedStatementsofChangesinStockholdersEquity"/>
  <link:definitionLink xlink:role="http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_a78c59f2-e408-44a7-8c52-94a46f1c12c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_a78c59f2-e408-44a7-8c52-94a46f1c12c0" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_7204e1d8-5f3d-469f-b772-74e424f57f9d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_7204e1d8-5f3d-469f-b772-74e424f57f9d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_6df84ee6-cbc5-4346-9c5c-344c6e6aaf30" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_StockholdersEquity_6df84ee6-cbc5-4346-9c5c-344c6e6aaf30" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_1a6eb533-85aa-47fd-a05b-40b214b4f495" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_NetIncomeLoss_1a6eb533-85aa-47fd-a05b-40b214b4f495" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_eb72d78c-f79f-4056-8650-eab7d53a8df6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_eb72d78c-f79f-4056-8650-eab7d53a8df6" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SharesVestedAndOtherDuringPeriodShares_f4196dc2-7175-408e-8552-443c5481e0ee" xlink:href="virc-20231031.xsd#virc_SharesVestedAndOtherDuringPeriodShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_virc_SharesVestedAndOtherDuringPeriodShares_f4196dc2-7175-408e-8552-443c5481e0ee" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SharesVestedAndOtherDuringPeriodValue_5c729106-2780-4f55-8f37-8c9fb9a032dc" xlink:href="virc-20231031.xsd#virc_SharesVestedAndOtherDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_virc_SharesVestedAndOtherDuringPeriodValue_5c729106-2780-4f55-8f37-8c9fb9a032dc" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_9ea5f28f-46aa-4390-af3e-2b2f679879c4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_9ea5f28f-46aa-4390-af3e-2b2f679879c4" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_075f2254-6191-4bde-bd58-6f8f92c1d765" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_a0ec3afd-7176-4ccd-8ac0-b96ebb3d5e35" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_3235aa53-6acb-40b4-95a1-c7afc4c8bd1c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_a78c59f2-e408-44a7-8c52-94a46f1c12c0" xlink:to="loc_us-gaap_StatementTable_3235aa53-6acb-40b4-95a1-c7afc4c8bd1c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_751fd891-1d3a-4b4b-a30b-af509a731e89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_3235aa53-6acb-40b4-95a1-c7afc4c8bd1c" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_751fd891-1d3a-4b4b-a30b-af509a731e89" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_751fd891-1d3a-4b4b-a30b-af509a731e89_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_751fd891-1d3a-4b4b-a30b-af509a731e89" xlink:to="loc_us-gaap_EquityComponentDomain_751fd891-1d3a-4b4b-a30b-af509a731e89_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_751fd891-1d3a-4b4b-a30b-af509a731e89" xlink:to="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_608a9e0b-fc5d-4066-9618-2339dbe82f47" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:to="loc_us-gaap_CommonStockMember_608a9e0b-fc5d-4066-9618-2339dbe82f47" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_924cb121-34ac-4a9d-b0e7-cd7a15040525" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_924cb121-34ac-4a9d-b0e7-cd7a15040525" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_55f1c247-ec35-4fbf-9ec8-8cb4b46c18c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:to="loc_us-gaap_RetainedEarningsMember_55f1c247-ec35-4fbf-9ec8-8cb4b46c18c1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_002d94cc-0b31-48c5-bb34-f0736ba2ab3e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_002d94cc-0b31-48c5-bb34-f0736ba2ab3e" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.virco.com/role/BasisofPresentationDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#BasisofPresentationDetails"/>
  <link:definitionLink xlink:role="http://www.virco.com/role/BasisofPresentationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_ebd73238-15ff-4f64-8c2f-28fc63d69f96" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio_0f32a7d2-86da-4364-9b6a-0e4dbc76a01d" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_ebd73238-15ff-4f64-8c2f-28fc63d69f96" xlink:to="loc_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio_0f32a7d2-86da-4364-9b6a-0e4dbc76a01d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_e8306c04-6023-4f01-aab3-529d8cb33f5c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_ebd73238-15ff-4f64-8c2f-28fc63d69f96" xlink:to="loc_us-gaap_StatementTable_e8306c04-6023-4f01-aab3-529d8cb33f5c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_c7a3a4ca-f191-4fc1-8684-3ba4a5557147" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_e8306c04-6023-4f01-aab3-529d8cb33f5c" xlink:to="loc_srt_RangeAxis_c7a3a4ca-f191-4fc1-8684-3ba4a5557147" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_c7a3a4ca-f191-4fc1-8684-3ba4a5557147_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_c7a3a4ca-f191-4fc1-8684-3ba4a5557147" xlink:to="loc_srt_RangeMember_c7a3a4ca-f191-4fc1-8684-3ba4a5557147_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a7c1697c-5c6a-4de1-944b-0b701b226e98" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_c7a3a4ca-f191-4fc1-8684-3ba4a5557147" xlink:to="loc_srt_RangeMember_a7c1697c-5c6a-4de1-944b-0b701b226e98" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_4142f68f-912a-443d-bc6b-097c9360876b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_a7c1697c-5c6a-4de1-944b-0b701b226e98" xlink:to="loc_srt_MaximumMember_4142f68f-912a-443d-bc6b-097c9360876b" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.virco.com/role/SeasonalityDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#SeasonalityDetails"/>
  <link:definitionLink xlink:role="http://www.virco.com/role/SeasonalityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_7a3235cd-5224-42f9-8af3-543f92863a89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SeasonalityTextualAbstract_f4164eb4-4557-4392-b485-e7106a428eb7" xlink:href="virc-20231031.xsd#virc_SeasonalityTextualAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_7a3235cd-5224-42f9-8af3-543f92863a89" xlink:to="loc_virc_SeasonalityTextualAbstract_f4164eb4-4557-4392-b485-e7106a428eb7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ExtremeSeasonalityGoods_36cf02b2-0b72-4475-acb9-4d0b74c794c1" xlink:href="virc-20231031.xsd#virc_ExtremeSeasonalityGoods"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_virc_SeasonalityTextualAbstract_f4164eb4-4557-4392-b485-e7106a428eb7" xlink:to="loc_virc_ExtremeSeasonalityGoods_36cf02b2-0b72-4475-acb9-4d0b74c794c1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_904c5589-336b-458e-a8d9-847f50abf74f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_7a3235cd-5224-42f9-8af3-543f92863a89" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_904c5589-336b-458e-a8d9-847f50abf74f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_19f95bfe-d009-49c1-8fcc-b29c6dbbbec4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_904c5589-336b-458e-a8d9-847f50abf74f" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_19f95bfe-d009-49c1-8fcc-b29c6dbbbec4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_19f95bfe-d009-49c1-8fcc-b29c6dbbbec4_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_19f95bfe-d009-49c1-8fcc-b29c6dbbbec4" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_19f95bfe-d009-49c1-8fcc-b29c6dbbbec4_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_f80513e2-d817-408a-b8c0-6c40e810d357" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_19f95bfe-d009-49c1-8fcc-b29c6dbbbec4" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_f80513e2-d817-408a-b8c0-6c40e810d357" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesMember_cb07baab-1a43-4b99-9db9-4c3e19490f43" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_f80513e2-d817-408a-b8c0-6c40e810d357" xlink:to="loc_us-gaap_SalesMember_cb07baab-1a43-4b99-9db9-4c3e19490f43" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.virco.com/role/DebtLongtermDebtDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#DebtLongtermDebtDetails"/>
  <link:definitionLink xlink:role="http://www.virco.com/role/DebtLongtermDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_f75f42d7-a9a2-4e31-ae0d-44965129a1cc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:to="loc_us-gaap_LongTermDebt_f75f42d7-a9a2-4e31-ae0d-44965129a1cc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_e352cd91-1086-4060-8a86-8d26df2a325d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:to="loc_us-gaap_LongTermDebtCurrent_e352cd91-1086-4060-8a86-8d26df2a325d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_88df8167-ba99-4af7-b44c-1a711b1892e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_88df8167-ba99-4af7-b44c-1a711b1892e1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_e9476e44-86ab-46d3-9e71-07a9e2ffc808" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityInterestRateDuringPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:to="loc_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_e9476e44-86ab-46d3-9e71-07a9e2ffc808" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_e7a5d03c-7860-422f-b236-6ff3abff2766" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:to="loc_us-gaap_DebtInstrumentTable_e7a5d03c-7860-422f-b236-6ff3abff2766" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_868bcc7f-403d-405f-843f-59eead080741" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_e7a5d03c-7860-422f-b236-6ff3abff2766" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_868bcc7f-403d-405f-843f-59eead080741" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_868bcc7f-403d-405f-843f-59eead080741_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_868bcc7f-403d-405f-843f-59eead080741" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_868bcc7f-403d-405f-843f-59eead080741_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_e9bd5746-6c65-4dae-a8ab-623fc48b6032" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_868bcc7f-403d-405f-843f-59eead080741" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_e9bd5746-6c65-4dae-a8ab-623fc48b6032" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_e7ad4c33-2267-403d-89de-01e5a24de769" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_e9bd5746-6c65-4dae-a8ab-623fc48b6032" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_e7ad4c33-2267-403d-89de-01e5a24de769" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_OtherDebtMember_34936c88-8bb5-44f7-a842-abb9d315b659" xlink:href="virc-20231031.xsd#virc_OtherDebtMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_e9bd5746-6c65-4dae-a8ab-623fc48b6032" xlink:to="loc_virc_OtherDebtMember_34936c88-8bb5-44f7-a842-abb9d315b659" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.virco.com/role/DebtNarrativeDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#DebtNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.virco.com/role/DebtNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DividendPayableMaximumAmountInFiscalYear_525938a4-34c2-4056-bd28-0f8ff4b4da2d" xlink:href="virc-20231031.xsd#virc_DividendPayableMaximumAmountInFiscalYear"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_DividendPayableMaximumAmountInFiscalYear_525938a4-34c2-4056-bd28-0f8ff4b4da2d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio_514cd9ba-2710-4aeb-ad69-b5586558ffc2" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio_514cd9ba-2710-4aeb-ad69-b5586558ffc2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_6dbc74fc-0b7e-4969-a531-4a1f62a80014" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_6dbc74fc-0b7e-4969-a531-4a1f62a80014" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LineOfCreditFacilityBorrowingBaseLimitation_225c3f74-1501-4270-8d98-f8f7b6333221" xlink:href="virc-20231031.xsd#virc_LineOfCreditFacilityBorrowingBaseLimitation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_LineOfCreditFacilityBorrowingBaseLimitation_225c3f74-1501-4270-8d98-f8f7b6333221" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LineOfCreditFacilityBorrowingCapacityTerm_195be97e-25ea-43ba-a194-77489c917651" xlink:href="virc-20231031.xsd#virc_LineOfCreditFacilityBorrowingCapacityTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_LineOfCreditFacilityBorrowingCapacityTerm_195be97e-25ea-43ba-a194-77489c917651" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear_48b72737-9d21-42ba-bdd9-5e675418b13a" xlink:href="virc-20231031.xsd#virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear_48b72737-9d21-42ba-bdd9-5e675418b13a" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_b690465f-4c58-48e3-b0db-effdb4ad3875" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityInterestRateDuringPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_b690465f-4c58-48e3-b0db-effdb4ad3875" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_CreditAgreementAmendmentFee_c8c1ae8f-c6f4-4adb-b5c2-f06a1fda249c" xlink:href="virc-20231031.xsd#virc_CreditAgreementAmendmentFee"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_CreditAgreementAmendmentFee_c8c1ae8f-c6f4-4adb-b5c2-f06a1fda249c" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_e37223f4-1883-43dc-9798-b448202d6355" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_e37223f4-1883-43dc-9798-b448202d6355" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_8fe2fa1d-7627-4533-9fc7-c4669dd079ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_8fe2fa1d-7627-4533-9fc7-c4669dd079ca" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_2c0033e4-7984-44f7-bcb6-99e2765cd434" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_2c0033e4-7984-44f7-bcb6-99e2765cd434" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_91467f80-2979-400c-b85a-e4b68201ff1c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LongTermDebt_91467f80-2979-400c-b85a-e4b68201ff1c" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_c7567ca3-ce08-4e56-bb04-6d27cac9a9aa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_c7567ca3-ce08-4e56-bb04-6d27cac9a9aa" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTerm_ebe0b860-08b0-4bb5-9b29-4a3477bd4c8b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_DebtInstrumentTerm_ebe0b860-08b0-4bb5-9b29-4a3477bd4c8b" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_22fd11e3-4293-45ee-9c56-fd7df02960ab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_22fd11e3-4293-45ee-9c56-fd7df02960ab" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement_8b77c54a-fc7f-4379-bae5-84fb6622c3cd" xlink:href="virc-20231031.xsd#virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement_8b77c54a-fc7f-4379-bae5-84fb6622c3cd" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement_11f367a1-4694-48b0-959d-28910543122c" xlink:href="virc-20231031.xsd#virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement_11f367a1-4694-48b0-959d-28910543122c" xlink:type="arc" order="16"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncrementalCreditLineIncreaseDecreasePercentage_b979f0ad-019d-4736-886a-d7f224cd2283" xlink:href="virc-20231031.xsd#virc_IncrementalCreditLineIncreaseDecreasePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_IncrementalCreditLineIncreaseDecreasePercentage_b979f0ad-019d-4736-886a-d7f224cd2283" xlink:type="arc" order="17"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncreaseDecreaseApplicableMarginBasisPoints_1b543af2-1d28-4cd8-96de-384692a66b55" xlink:href="virc-20231031.xsd#virc_IncreaseDecreaseApplicableMarginBasisPoints"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_IncreaseDecreaseApplicableMarginBasisPoints_1b543af2-1d28-4cd8-96de-384692a66b55" xlink:type="arc" order="18"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncrementalCreditLineIncreaseDecrease_0ef9344a-76a8-404c-b66d-0afc8282d156" xlink:href="virc-20231031.xsd#virc_IncrementalCreditLineIncreaseDecrease"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_IncrementalCreditLineIncreaseDecrease_0ef9344a-76a8-404c-b66d-0afc8282d156" xlink:type="arc" order="19"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFeeAmount_f33e5d8a-160a-4807-98bf-8f57088987d6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFeeAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_DebtInstrumentFeeAmount_f33e5d8a-160a-4807-98bf-8f57088987d6" xlink:type="arc" order="20"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases_2fec70f2-a21d-4411-bec6-e30eefb2164c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases_2fec70f2-a21d-4411-bec6-e30eefb2164c" xlink:type="arc" order="21"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis_95d3c209-f3f1-462e-b78f-a844c82f6798" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_us-gaap_LineOfCreditFacilityAxis_95d3c209-f3f1-462e-b78f-a844c82f6798" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_95d3c209-f3f1-462e-b78f-a844c82f6798_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_95d3c209-f3f1-462e-b78f-a844c82f6798" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_95d3c209-f3f1-462e-b78f-a844c82f6798_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_405f1bdb-2be4-4a4f-ba5e-bb81198ada59" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_95d3c209-f3f1-462e-b78f-a844c82f6798" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_405f1bdb-2be4-4a4f-ba5e-bb81198ada59" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_PNCMember_e99c848c-4309-43fe-b33d-c56f6ded0952" xlink:href="virc-20231031.xsd#virc_PNCMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain_405f1bdb-2be4-4a4f-ba5e-bb81198ada59" xlink:to="loc_virc_PNCMember_e99c848c-4309-43fe-b33d-c56f6ded0952" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_019daf2f-14b9-4671-9167-5365d4476f10" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_us-gaap_CreditFacilityAxis_019daf2f-14b9-4671-9167-5365d4476f10" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_019daf2f-14b9-4671-9167-5365d4476f10_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_019daf2f-14b9-4671-9167-5365d4476f10" xlink:to="loc_us-gaap_CreditFacilityDomain_019daf2f-14b9-4671-9167-5365d4476f10_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_34708757-85ba-4442-8ccf-2a396196d131" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_019daf2f-14b9-4671-9167-5365d4476f10" xlink:to="loc_us-gaap_CreditFacilityDomain_34708757-85ba-4442-8ccf-2a396196d131" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_e3981999-51b9-4022-98b2-d8ac294c205f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_34708757-85ba-4442-8ccf-2a396196d131" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_e3981999-51b9-4022-98b2-d8ac294c205f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_EquipmentLoanMember_4289bd31-948c-4752-813b-b3e9d6857afb" xlink:href="virc-20231031.xsd#virc_EquipmentLoanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_34708757-85ba-4442-8ccf-2a396196d131" xlink:to="loc_virc_EquipmentLoanMember_4289bd31-948c-4752-813b-b3e9d6857afb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_58f5f1a0-5409-4b69-8eb5-999ff6cce052" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_us-gaap_DebtInstrumentAxis_58f5f1a0-5409-4b69-8eb5-999ff6cce052" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_58f5f1a0-5409-4b69-8eb5-999ff6cce052_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_58f5f1a0-5409-4b69-8eb5-999ff6cce052" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_58f5f1a0-5409-4b69-8eb5-999ff6cce052_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_9451286e-e8b6-4a91-a9b7-eb1176b1ca08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_58f5f1a0-5409-4b69-8eb5-999ff6cce052" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_9451286e-e8b6-4a91-a9b7-eb1176b1ca08" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_AmendedAndRestatedCreditAgreementMember_f5f81426-348b-49d6-a4d7-fa7d832bfb18" xlink:href="virc-20231031.xsd#virc_AmendedAndRestatedCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_9451286e-e8b6-4a91-a9b7-eb1176b1ca08" xlink:to="loc_virc_AmendedAndRestatedCreditAgreementMember_f5f81426-348b-49d6-a4d7-fa7d832bfb18" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_753ba68e-53c6-4f21-82ca-95114949b2db" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_srt_RangeAxis_753ba68e-53c6-4f21-82ca-95114949b2db" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_753ba68e-53c6-4f21-82ca-95114949b2db_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_753ba68e-53c6-4f21-82ca-95114949b2db" xlink:to="loc_srt_RangeMember_753ba68e-53c6-4f21-82ca-95114949b2db_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a7268d46-54e2-4003-bb65-46a2ead7620e" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_753ba68e-53c6-4f21-82ca-95114949b2db" xlink:to="loc_srt_RangeMember_a7268d46-54e2-4003-bb65-46a2ead7620e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_e4978cd1-ceee-41f1-a4da-cbb0f606d195" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_a7268d46-54e2-4003-bb65-46a2ead7620e" xlink:to="loc_srt_MaximumMember_e4978cd1-ceee-41f1-a4da-cbb0f606d195" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_cd9f1b95-693d-4e0d-945e-419aae07d59e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_cd9f1b95-693d-4e0d-945e-419aae07d59e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_cd9f1b95-693d-4e0d-945e-419aae07d59e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_cd9f1b95-693d-4e0d-945e-419aae07d59e" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_cd9f1b95-693d-4e0d-945e-419aae07d59e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_837612da-d101-4613-b2b8-f90aff05271c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_cd9f1b95-693d-4e0d-945e-419aae07d59e" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_837612da-d101-4613-b2b8-f90aff05271c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_2edc6487-d426-41be-a4b8-f3ff6de6ecba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_837612da-d101-4613-b2b8-f90aff05271c" xlink:to="loc_us-gaap_AccountsReceivableMember_2edc6487-d426-41be-a4b8-f3ff6de6ecba" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_InventoryMember_9f53f350-2292-4d56-a6aa-c68f3c6709f8" xlink:href="virc-20231031.xsd#virc_InventoryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_837612da-d101-4613-b2b8-f90aff05271c" xlink:to="loc_virc_InventoryMember_9f53f350-2292-4d56-a6aa-c68f3c6709f8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoriesMember_a3afb0d0-005c-45e7-837f-d3de19ad9ed8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoriesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_837612da-d101-4613-b2b8-f90aff05271c" xlink:to="loc_us-gaap_InventoriesMember_a3afb0d0-005c-45e7-837f-d3de19ad9ed8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantPeriodAxis_375eb6b6-3a08-403c-a56c-97591921f6d4" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantPeriodAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_virc_DebtInstrumentCovenantPeriodAxis_375eb6b6-3a08-403c-a56c-97591921f6d4" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantPeriodDomain_375eb6b6-3a08-403c-a56c-97591921f6d4_default" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantPeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_virc_DebtInstrumentCovenantPeriodAxis_375eb6b6-3a08-403c-a56c-97591921f6d4" xlink:to="loc_virc_DebtInstrumentCovenantPeriodDomain_375eb6b6-3a08-403c-a56c-97591921f6d4_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantPeriodDomain_5df7928e-ff11-4bc5-be67-b0bc6398ea98" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantPeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_virc_DebtInstrumentCovenantPeriodAxis_375eb6b6-3a08-403c-a56c-97591921f6d4" xlink:to="loc_virc_DebtInstrumentCovenantPeriodDomain_5df7928e-ff11-4bc5-be67-b0bc6398ea98" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_CovenantPeriod1Member_96e219b0-778c-4457-89aa-764408c9447b" xlink:href="virc-20231031.xsd#virc_CovenantPeriod1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_virc_DebtInstrumentCovenantPeriodDomain_5df7928e-ff11-4bc5-be67-b0bc6398ea98" xlink:to="loc_virc_CovenantPeriod1Member_96e219b0-778c-4457-89aa-764408c9447b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_aab1227a-709a-4d68-9bf1-3cb938fdd7ad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_aab1227a-709a-4d68-9bf1-3cb938fdd7ad" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_aab1227a-709a-4d68-9bf1-3cb938fdd7ad_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_aab1227a-709a-4d68-9bf1-3cb938fdd7ad" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_aab1227a-709a-4d68-9bf1-3cb938fdd7ad_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_cb71b688-893d-4344-86bd-39590baceacb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_aab1227a-709a-4d68-9bf1-3cb938fdd7ad" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_cb71b688-893d-4344-86bd-39590baceacb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_07ba53f9-2fce-4b26-8026-6297d57a42a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_cb71b688-893d-4344-86bd-39590baceacb" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_07ba53f9-2fce-4b26-8026-6297d57a42a8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MortgagesMember_33ee21b5-8f60-48dd-8efd-e571b92a9b3c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MortgagesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_cb71b688-893d-4344-86bd-39590baceacb" xlink:to="loc_us-gaap_MortgagesMember_33ee21b5-8f60-48dd-8efd-e571b92a9b3c" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.virco.com/role/StockBasedCompensationDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#StockBasedCompensationDetails"/>
  <link:definitionLink xlink:role="http://www.virco.com/role/StockBasedCompensationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_c87d3a99-2de1-4a3e-ad81-507154ea676d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_c87d3a99-2de1-4a3e-ad81-507154ea676d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4aaf61d8-ddff-4ffe-91aa-125ae1aa532f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4aaf61d8-ddff-4ffe-91aa-125ae1aa532f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_d81e7c0e-312a-4bd3-8780-1474edb9759b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_d81e7c0e-312a-4bd3-8780-1474edb9759b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_28b50093-1d75-4413-8b7b-c76c85051c1c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_28b50093-1d75-4413-8b7b-c76c85051c1c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_e9159e0d-db9b-433f-8f35-dc04a6b01c24" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_e9159e0d-db9b-433f-8f35-dc04a6b01c24" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_ae5e27d3-1b58-4641-a534-bc827e142121" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_ae5e27d3-1b58-4641-a534-bc827e142121" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_77c95dec-b4c1-45bb-af0b-c21543a1ce1f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_77c95dec-b4c1-45bb-af0b-c21543a1ce1f" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_2a2a69cc-1173-497a-a09b-cfc15195cd46" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_2a2a69cc-1173-497a-a09b-cfc15195cd46" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_aa243e88-22ec-4feb-a9f1-ea6f462c1d2c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_aa243e88-22ec-4feb-a9f1-ea6f462c1d2c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_06ee1aa1-e4bd-4261-8db5-7add71eff245" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_aa243e88-22ec-4feb-a9f1-ea6f462c1d2c" xlink:to="loc_us-gaap_AwardTypeAxis_06ee1aa1-e4bd-4261-8db5-7add71eff245" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_06ee1aa1-e4bd-4261-8db5-7add71eff245_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_06ee1aa1-e4bd-4261-8db5-7add71eff245" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_06ee1aa1-e4bd-4261-8db5-7add71eff245_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8bd2b1c-a9fd-4430-897d-a837c835fe6a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_06ee1aa1-e4bd-4261-8db5-7add71eff245" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8bd2b1c-a9fd-4430-897d-a837c835fe6a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_a5024d2f-939c-4a1a-a3ff-83b3ab6aa011" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8bd2b1c-a9fd-4430-897d-a837c835fe6a" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_a5024d2f-939c-4a1a-a3ff-83b3ab6aa011" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_765617cc-5314-4260-ad55-fd183a5c1aea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_aa243e88-22ec-4feb-a9f1-ea6f462c1d2c" xlink:to="loc_us-gaap_PlanNameAxis_765617cc-5314-4260-ad55-fd183a5c1aea" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_765617cc-5314-4260-ad55-fd183a5c1aea_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_765617cc-5314-4260-ad55-fd183a5c1aea" xlink:to="loc_us-gaap_PlanNameDomain_765617cc-5314-4260-ad55-fd183a5c1aea_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_473b8e10-ce64-4944-b2d2-f087b2526665" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_765617cc-5314-4260-ad55-fd183a5c1aea" xlink:to="loc_us-gaap_PlanNameDomain_473b8e10-ce64-4944-b2d2-f087b2526665" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_StockIncentivePlan2019Member_913cdcc5-6173-4594-88af-f3455a91ba86" xlink:href="virc-20231031.xsd#virc_StockIncentivePlan2019Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_473b8e10-ce64-4944-b2d2-f087b2526665" xlink:to="loc_virc_StockIncentivePlan2019Member_913cdcc5-6173-4594-88af-f3455a91ba86" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_abba5c52-555b-4148-8be5-8879746aef67" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_aa243e88-22ec-4feb-a9f1-ea6f462c1d2c" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_abba5c52-555b-4148-8be5-8879746aef67" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_abba5c52-555b-4148-8be5-8879746aef67_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_abba5c52-555b-4148-8be5-8879746aef67" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_abba5c52-555b-4148-8be5-8879746aef67_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_d3ddf936-1278-45b7-91ae-e27df273702e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_abba5c52-555b-4148-8be5-8879746aef67" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_d3ddf936-1278-45b7-91ae-e27df273702e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_90005129-3c31-4449-b7d8-33844c40e753" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_d3ddf936-1278-45b7-91ae-e27df273702e" xlink:to="loc_us-gaap_CostOfSalesMember_90005129-3c31-4449-b7d8-33844c40e753" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_3b87a838-f136-494f-9ffb-9f3f616248c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_d3ddf936-1278-45b7-91ae-e27df273702e" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_3b87a838-f136-494f-9ffb-9f3f616248c2" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#RetirementPlansPeriodicPensionCostDetails"/>
  <link:definitionLink xlink:role="http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_2e6e7d32-4409-472c-a97a-830edcaa630d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_2e6e7d32-4409-472c-a97a-830edcaa630d" xlink:to="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanServiceCost_7316c5aa-b75f-4eae-a7dd-360ee5969279" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanServiceCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanServiceCost_7316c5aa-b75f-4eae-a7dd-360ee5969279" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_976ef5c0-ce5b-4450-ba14-616d83f847ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_976ef5c0-ce5b-4450-ba14-616d83f847ee" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_dd00c802-0e02-41c2-8739-635e76259fcc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_dd00c802-0e02-41c2-8739-635e76259fcc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement_67de8059-8215-4315-8c30-8a204c7a9abd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement_67de8059-8215-4315-8c30-8a204c7a9abd" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_744c7c8b-cee0-45d7-b6d6-27243bceee40" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_744c7c8b-cee0-45d7-b6d6-27243bceee40" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss_d7397d5c-718b-4587-bdf5-e8438e86799e" xlink:href="virc-20231031.xsd#virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss_d7397d5c-718b-4587-bdf5-e8438e86799e" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_2142e81d-1e2c-4017-a4df-69e36b98a6ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_2142e81d-1e2c-4017-a4df-69e36b98a6ca" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_cf406876-ceb6-45f6-8c21-83036cee3e62" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_2e6e7d32-4409-472c-a97a-830edcaa630d" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_cf406876-ceb6-45f6-8c21-83036cee3e62" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_34a4f238-0fcf-4c57-a54a-0cc9b436a225" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_cf406876-ceb6-45f6-8c21-83036cee3e62" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_34a4f238-0fcf-4c57-a54a-0cc9b436a225" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_34a4f238-0fcf-4c57-a54a-0cc9b436a225_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_34a4f238-0fcf-4c57-a54a-0cc9b436a225" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_34a4f238-0fcf-4c57-a54a-0cc9b436a225_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_f86fd28f-8fc4-4b15-8ed8-2e470cd5be37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_34a4f238-0fcf-4c57-a54a-0cc9b436a225" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_f86fd28f-8fc4-4b15-8ed8-2e470cd5be37" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember_838766fd-662f-4c47-8127-ca0e125911cd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_f86fd28f-8fc4-4b15-8ed8-2e470cd5be37" xlink:to="loc_us-gaap_PensionPlansDefinedBenefitMember_838766fd-662f-4c47-8127-ca0e125911cd" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.virco.com/role/RetirementPlansNarrativeDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#RetirementPlansNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.virco.com/role/RetirementPlansNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent_7f26e26c-a4c6-4af6-83bb-6fa739b423ed" xlink:href="virc-20231031.xsd#virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:to="loc_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent_7f26e26c-a4c6-4af6-83bb-6fa739b423ed" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_17045611-2776-408f-b6c9-fdd7e98862ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:to="loc_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_17045611-2776-408f-b6c9-fdd7e98862ef" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DefinedContributionPlanNumberOfCommonSharesHeld_c9515563-de77-402b-b477-4846d0bff50b" xlink:href="virc-20231031.xsd#virc_DefinedContributionPlanNumberOfCommonSharesHeld"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:to="loc_virc_DefinedContributionPlanNumberOfCommonSharesHeld_c9515563-de77-402b-b477-4846d0bff50b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_6abce086-61a1-4aea-91d6-ea4d4c732a9e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:to="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_6abce086-61a1-4aea-91d6-ea4d4c732a9e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_d2885093-cedd-4163-a4bf-d2d6a373a237" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_d2885093-cedd-4163-a4bf-d2d6a373a237" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_c99a7361-c202-478e-b260-7a0cf075f77a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_d2885093-cedd-4163-a4bf-d2d6a373a237" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_c99a7361-c202-478e-b260-7a0cf075f77a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_c99a7361-c202-478e-b260-7a0cf075f77a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_c99a7361-c202-478e-b260-7a0cf075f77a" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_c99a7361-c202-478e-b260-7a0cf075f77a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_c8d79e34-03eb-427e-9018-4ca10a482d0c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_c99a7361-c202-478e-b260-7a0cf075f77a" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_c8d79e34-03eb-427e-9018-4ca10a482d0c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_a10781c1-f594-4cff-a3e8-0563cb097d99" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_c8d79e34-03eb-427e-9018-4ca10a482d0c" xlink:to="loc_us-gaap_DomesticPlanMember_a10781c1-f594-4cff-a3e8-0563cb097d99" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_35fa5984-f98f-4910-a6e7-3e1795bbc179" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DomesticPlanMember_a10781c1-f594-4cff-a3e8-0563cb097d99" xlink:to="loc_country_US_35fa5984-f98f-4910-a6e7-3e1795bbc179" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_4e9f2314-7fae-438b-8691-ef261187ef38" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_d2885093-cedd-4163-a4bf-d2d6a373a237" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_4e9f2314-7fae-438b-8691-ef261187ef38" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_4e9f2314-7fae-438b-8691-ef261187ef38_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_4e9f2314-7fae-438b-8691-ef261187ef38" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_4e9f2314-7fae-438b-8691-ef261187ef38_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_7cb0ca42-70ea-4291-a4c8-099439edd3db" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_4e9f2314-7fae-438b-8691-ef261187ef38" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_7cb0ca42-70ea-4291-a4c8-099439edd3db" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember_6cfda684-279c-4402-84d4-ef4df57e9512" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_7cb0ca42-70ea-4291-a4c8-099439edd3db" xlink:to="loc_us-gaap_PensionPlansDefinedBenefitMember_6cfda684-279c-4402-84d4-ef4df57e9512" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.virco.com/role/WarrantyDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#WarrantyDetails"/>
  <link:definitionLink xlink:role="http://www.virco.com/role/WarrantyDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_virc_WarrantyLineItems_0511856d-3886-4b6e-930b-918eefcecbf7" xlink:href="virc-20231031.xsd#virc_WarrantyLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ProductWarranty_229977e8-794d-4e8c-9ee6-b858c1162eed" xlink:href="virc-20231031.xsd#virc_ProductWarranty"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_virc_WarrantyLineItems_0511856d-3886-4b6e-930b-918eefcecbf7" xlink:to="loc_virc_ProductWarranty_229977e8-794d-4e8c-9ee6-b858c1162eed" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ScheduleOfWarrantyTable_d8d2b023-1fd5-4856-abfd-4beee1442ae2" xlink:href="virc-20231031.xsd#virc_ScheduleOfWarrantyTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_virc_WarrantyLineItems_0511856d-3886-4b6e-930b-918eefcecbf7" xlink:to="loc_virc_ScheduleOfWarrantyTable_d8d2b023-1fd5-4856-abfd-4beee1442ae2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_57272664-5c82-422b-8bba-aab260dde9ec" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_virc_ScheduleOfWarrantyTable_d8d2b023-1fd5-4856-abfd-4beee1442ae2" xlink:to="loc_srt_RangeAxis_57272664-5c82-422b-8bba-aab260dde9ec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_57272664-5c82-422b-8bba-aab260dde9ec_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_57272664-5c82-422b-8bba-aab260dde9ec" xlink:to="loc_srt_RangeMember_57272664-5c82-422b-8bba-aab260dde9ec_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_41555d2d-eb23-4bd1-86b5-cb8446ac1c7d" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_57272664-5c82-422b-8bba-aab260dde9ec" xlink:to="loc_srt_RangeMember_41555d2d-eb23-4bd1-86b5-cb8446ac1c7d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_f6f30374-e84b-4467-95af-c6dc5bde6df7" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_41555d2d-eb23-4bd1-86b5-cb8446ac1c7d" xlink:to="loc_srt_MaximumMember_f6f30374-e84b-4467-95af-c6dc5bde6df7" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.virco.com/role/ContingenciesDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#ContingenciesDetails"/>
  <link:definitionLink xlink:role="http://www.virco.com/role/ContingenciesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems_bca641af-d8b9-48ad-8286-1f27b433a4bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SelfInsuranceRetention_137d245a-68ed-4d23-bea2-8481017a5899" xlink:href="virc-20231031.xsd#virc_SelfInsuranceRetention"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_bca641af-d8b9-48ad-8286-1f27b433a4bb" xlink:to="loc_virc_SelfInsuranceRetention_137d245a-68ed-4d23-bea2-8481017a5899" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable_cc16c761-a070-4fcf-8057-c60d6fbdb111" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LossContingenciesLineItems_bca641af-d8b9-48ad-8286-1f27b433a4bb" xlink:to="loc_us-gaap_LossContingenciesTable_cc16c761-a070-4fcf-8057-c60d6fbdb111" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_ee033868-6b4f-433a-b82a-3bc13f82b9e1" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LossContingenciesTable_cc16c761-a070-4fcf-8057-c60d6fbdb111" xlink:to="loc_srt_RangeAxis_ee033868-6b4f-433a-b82a-3bc13f82b9e1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_ee033868-6b4f-433a-b82a-3bc13f82b9e1_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_ee033868-6b4f-433a-b82a-3bc13f82b9e1" xlink:to="loc_srt_RangeMember_ee033868-6b4f-433a-b82a-3bc13f82b9e1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_bb1241f3-f94d-41ce-b1e9-67a784104d51" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_ee033868-6b4f-433a-b82a-3bc13f82b9e1" xlink:to="loc_srt_RangeMember_bb1241f3-f94d-41ce-b1e9-67a784104d51" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b68cc0bf-fca9-421d-bd91-df1c9aad9749" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_bb1241f3-f94d-41ce-b1e9-67a784104d51" xlink:to="loc_srt_MaximumMember_b68cc0bf-fca9-421d-bd91-df1c9aad9749" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_76e12784-b7ee-4f04-b8a9-27a13ad6424f" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LossContingenciesTable_cc16c761-a070-4fcf-8057-c60d6fbdb111" xlink:to="loc_srt_ProductOrServiceAxis_76e12784-b7ee-4f04-b8a9-27a13ad6424f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_76e12784-b7ee-4f04-b8a9-27a13ad6424f_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_76e12784-b7ee-4f04-b8a9-27a13ad6424f" xlink:to="loc_srt_ProductsAndServicesDomain_76e12784-b7ee-4f04-b8a9-27a13ad6424f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_76e12784-b7ee-4f04-b8a9-27a13ad6424f" xlink:to="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ProductLiabilityMember_d1999aa5-180f-47a7-9446-e32ba1b3f109" xlink:href="virc-20231031.xsd#virc_ProductLiabilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:to="loc_virc_ProductLiabilityMember_d1999aa5-180f-47a7-9446-e32ba1b3f109" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_WorkerscompensationLiabilityInsuranceMember_97d6fef3-f0f9-44ba-8f43-99829217b682" xlink:href="virc-20231031.xsd#virc_WorkerscompensationLiabilityInsuranceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:to="loc_virc_WorkerscompensationLiabilityInsuranceMember_97d6fef3-f0f9-44ba-8f43-99829217b682" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_GeneralLiabilityLossMember_ae7e0398-92e1-4abc-b059-77cd608e8871" xlink:href="virc-20231031.xsd#virc_GeneralLiabilityLossMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:to="loc_virc_GeneralLiabilityLossMember_ae7e0398-92e1-4abc-b059-77cd608e8871" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_AutomobileLiabilityLossMember_377e0d07-e262-4b07-8fc4-ff4b5ede6f74" xlink:href="virc-20231031.xsd#virc_AutomobileLiabilityLossMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:to="loc_virc_AutomobileLiabilityLossMember_377e0d07-e262-4b07-8fc4-ff4b5ede6f74" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LossLiabilityMember_b90955c8-e4f3-40b0-bede-400fe31d7c67" xlink:href="virc-20231031.xsd#virc_LossLiabilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:to="loc_virc_LossLiabilityMember_b90955c8-e4f3-40b0-bede-400fe31d7c67" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.virco.com/role/SubsequentEventsDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#SubsequentEventsDetails"/>
  <link:definitionLink xlink:role="http://www.virco.com/role/SubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems_9ffd2b87-6090-4c58-add8-d0257f71650b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DividendsPayableAmountPerShare_ee6b5646-24f5-43c7-b7ab-794215798232" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_9ffd2b87-6090-4c58-add8-d0257f71650b" xlink:to="loc_us-gaap_DividendsPayableAmountPerShare_ee6b5646-24f5-43c7-b7ab-794215798232" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_d29d5559-ad63-4c3d-b9b0-6d0425caf955" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_9ffd2b87-6090-4c58-add8-d0257f71650b" xlink:to="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_d29d5559-ad63-4c3d-b9b0-6d0425caf955" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable_18a64e78-315e-4007-b79d-b3ea9028545b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SubsequentEventLineItems_9ffd2b87-6090-4c58-add8-d0257f71650b" xlink:to="loc_us-gaap_SubsequentEventTable_18a64e78-315e-4007-b79d-b3ea9028545b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_c744ed08-e780-4209-8274-6e3f813f39c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_18a64e78-315e-4007-b79d-b3ea9028545b" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_c744ed08-e780-4209-8274-6e3f813f39c0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_c744ed08-e780-4209-8274-6e3f813f39c0_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_c744ed08-e780-4209-8274-6e3f813f39c0" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_c744ed08-e780-4209-8274-6e3f813f39c0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_f00649f0-455c-4775-ae05-06918c87171e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_c744ed08-e780-4209-8274-6e3f813f39c0" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_f00649f0-455c-4775-ae05-06918c87171e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_28160a0d-20a3-44c8-9e03-a5ba576761a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_f00649f0-455c-4775-ae05-06918c87171e" xlink:to="loc_us-gaap_SubsequentEventMember_28160a0d-20a3-44c8-9e03-a5ba576761a3" xlink:type="arc" order="0"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>virc-20231031_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2023 Workiva-->
<!--r:666446c8-0469-4d73-a94d-625204a07bf5,g:2cbe8862-0ffb-416d-9d12-6eb7bb4dce10-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_64d17b30-8236-431a-8b20-a28a2b87f9b0_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b15cdcc4-30f6-4782-b73d-49190192f488_verboseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5ab9d09a-c789-4787-a339-ddc8e4697c5e_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining balance of lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_fc25e414-0c92-4365-b26c-a6fd7fc54829_verboseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for doubtful accounts</link:label>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_label_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:to="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_94931fce-93d7-4bf8-9b7f-be0d8cb6f415_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax expense</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_275b291c-b720-464e-a7c0-b922b8cf6f39_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_8225825a-1f24-4810-a8b3-4237928d6d87_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets, net</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_a20bb360-7f46-4329-b115-a7f2e27a7c91_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Product Warranty Liability</link:label>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_327508b5-64bf-4439-821f-51a12406705f_verboseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, par value (usd per share)</link:label>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_a740e84d-6143-4a81-939b-0e65b4e98237_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2028</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_a8a8c3a4-aba4-4fad-89fe-769e744f8e6b_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_DebtInstrumentCovenantPeriodAxis_19521331-7ae1-4564-982b-c060d7f9330b_terseLabel_en-US" xlink:label="lab_virc_DebtInstrumentCovenantPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Covenant Period [Axis]</link:label>
    <link:label id="lab_virc_DebtInstrumentCovenantPeriodAxis_label_en-US" xlink:label="lab_virc_DebtInstrumentCovenantPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Covenant Period [Axis]</link:label>
    <link:label id="lab_virc_DebtInstrumentCovenantPeriodAxis_documentation_en-US" xlink:label="lab_virc_DebtInstrumentCovenantPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Covenant Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantPeriodAxis" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantPeriodAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_DebtInstrumentCovenantPeriodAxis" xlink:to="lab_virc_DebtInstrumentCovenantPeriodAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_ad85aa8f-1c0a-42d3-a770-9c1ffe4062ca_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_28fed2d9-3a43-437b-9f09-c3871c437980_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_63a64b45-b474-4663-9fe3-e97de5e4ee23_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_06ec98fc-322e-40d1-8ff9-22212fe1155e_verboseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs of goods sold</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement_795aaa7d-c078-4a4f-b340-0220b1f23e6f_terseLabel_en-US" xlink:label="lab_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase in inventory sublimit under credit agreement</link:label>
    <link:label id="lab_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement_label_en-US" xlink:label="lab_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Inventory Sublimit Under Credit Agreement</link:label>
    <link:label id="lab_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement_documentation_en-US" xlink:label="lab_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Inventory Sublimit Under Credit Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement" xlink:href="virc-20231031.xsd#virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement" xlink:to="lab_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_2f24ca11-83db-43fc-b430-23e91564009b_verboseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, plant and equipment:</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6f7a25fa-db4c-4507-a988-7e4deaf49920_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_c50d90d3-95ca-4756-a500-9b73420e3f42_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Totals (shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_90f5609c-0183-49e7-95a4-487a63fc2fb9_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares outstanding (shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_7a7bd298-983c-4e5e-adf7-4c4774afbc4a_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less accumulated depreciation and amortization</link:label>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_79ae145a-d7de-49d9-9f4d-0fd9db943f47_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventory</link:label>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_InventoryMember_151a0ab0-36a6-4e31-8a8f-d3e5dbd259bc_verboseLabel_en-US" xlink:label="lab_virc_InventoryMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory [Member]</link:label>
    <link:label id="lab_virc_InventoryMember_label_en-US" xlink:label="lab_virc_InventoryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory [Member]</link:label>
    <link:label id="lab_virc_InventoryMember_documentation_en-US" xlink:label="lab_virc_InventoryMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_InventoryMember" xlink:href="virc-20231031.xsd#virc_InventoryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_InventoryMember" xlink:to="lab_virc_InventoryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_010be024-cc96-4c7d-a27e-8ae17c4b68af_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentAxis" xlink:to="lab_us-gaap_DebtInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LossContingenciesLineItems_bbcfedfe-15c8-42c9-b84f-67181265b4fc_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingenciesLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Line Items]</link:label>
    <link:label id="lab_us-gaap_LossContingenciesLineItems_label_en-US" xlink:label="lab_us-gaap_LossContingenciesLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingenciesLineItems" xlink:to="lab_us-gaap_LossContingenciesLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_92725020-9f93-4650-bffd-9b1b33174db3_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total property, plant and equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_CovenantPeriod1Member_83c295e7-c776-4f2d-86ba-69ec70912371_terseLabel_en-US" xlink:label="lab_virc_CovenantPeriod1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consecutive Four Fiscal Quarters Ending July 31, 2020</link:label>
    <link:label id="lab_virc_CovenantPeriod1Member_label_en-US" xlink:label="lab_virc_CovenantPeriod1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Covenant Period 1 [Member]</link:label>
    <link:label id="lab_virc_CovenantPeriod1Member_documentation_en-US" xlink:label="lab_virc_CovenantPeriod1Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Covenant Period 1</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_CovenantPeriod1Member" xlink:href="virc-20231031.xsd#virc_CovenantPeriod1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_CovenantPeriod1Member" xlink:to="lab_virc_CovenantPeriod1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_80cb01f5-770f-4192-8e30-c91f95d8b4b8_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit facility, maximum borrowing capacity</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock_1df1992f-bcb6-42bf-a1b4-b1e19fe88c5e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Defined Benefit Plans Disclosures</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Defined Benefit Plans Disclosures [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock" xlink:to="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_af98e6f2-6c65-456e-a1ee-5a3064d572bc_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyExpense_6f413a8f-9c29-4f7d-84fc-dcd992feb83d_negatedLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs incurred</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyExpense_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyExpense" xlink:to="lab_us-gaap_ProductWarrantyExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableMember_cb0e4723-492a-40ac-8069-936a60af9124_verboseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable [Member]</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableMember_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableMember" xlink:to="lab_us-gaap_AccountsReceivableMember" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_StockIncentivePlan2019Member_d8a456c6-b751-4220-9700-489284036a59_terseLabel_en-US" xlink:label="lab_virc_StockIncentivePlan2019Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019 Plan [Member]</link:label>
    <link:label id="lab_virc_StockIncentivePlan2019Member_label_en-US" xlink:label="lab_virc_StockIncentivePlan2019Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Incentive Plan 2019 [Member]</link:label>
    <link:label id="lab_virc_StockIncentivePlan2019Member_documentation_en-US" xlink:label="lab_virc_StockIncentivePlan2019Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Incentive Plan 2019 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_StockIncentivePlan2019Member" xlink:href="virc-20231031.xsd#virc_StockIncentivePlan2019Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_StockIncentivePlan2019Member" xlink:to="lab_virc_StockIncentivePlan2019Member" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_NoncashRentExpense_07741857-57a8-458d-bf74-7abfc865c0ef_negatedTerseLabel_en-US" xlink:label="lab_virc_NoncashRentExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-cash lease benefits</link:label>
    <link:label id="lab_virc_NoncashRentExpense_label_en-US" xlink:label="lab_virc_NoncashRentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-cash Rent Expense</link:label>
    <link:label id="lab_virc_NoncashRentExpense_documentation_en-US" xlink:label="lab_virc_NoncashRentExpense" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-cash Rent Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_NoncashRentExpense" xlink:href="virc-20231031.xsd#virc_NoncashRentExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_NoncashRentExpense" xlink:to="lab_virc_NoncashRentExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherIncomeAndExpensesAbstract_885e3b2a-a16e-4874-bc93-22efc5446e53_terseLabel_en-US" xlink:label="lab_us-gaap_OtherIncomeAndExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Income and Expenses [Abstract]</link:label>
    <link:label id="lab_us-gaap_OtherIncomeAndExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_OtherIncomeAndExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Income and Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="lab_us-gaap_OtherIncomeAndExpensesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_2162eb9b-58db-449d-bd1c-33cef31bc63d_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Authorized 25,000,000 shares, $0.01 par value; issued and outstanding 16,347,314 shares at 10/31/2023 and 16,210,985 at 1/31/2023 and 10/31/2022</link:label>
    <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_06c7e68b-f908-42c6-9b40-0a179edacfa4_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapital" xlink:to="lab_us-gaap_AdditionalPaidInCapital" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_5348dc24-1a5a-4839-a6ad-001df7868806_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentNameDomain" xlink:to="lab_us-gaap_DebtInstrumentNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_31dfdb0f-5f43-46f0-a56d-da51fbed50f5_verboseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Increase for Warranties Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:to="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_ff931055-551c-47ed-b6ca-48de2074e291_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_e65185bf-b159-41a8-a8f1-32d43deb8d14_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest rate</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_e9215cc7-68ae-49d2-9111-80d96fee63e0_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average discount rate</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermLeaseCost_c61d584d-445c-4a12-ae81-236c9938c170_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term lease cost</link:label>
    <link:label id="lab_us-gaap_ShortTermLeaseCost_label_en-US" xlink:label="lab_us-gaap_ShortTermLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermLeaseCost" xlink:to="lab_us-gaap_ShortTermLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_193d380b-6c7e-4372-9790-004f22dbe6c3_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Abstract]</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_1a894d65-f0b3-4ea6-8ddb-567b1013de09_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warranty Accrual</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:to="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_ba119b29-f74b-4b56-bec3-87766b83c2ad_verboseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares authorized (shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_SeasonalityAbstract_1eacd581-420c-4139-ac23-4c115bb679d8_terseLabel_en-US" xlink:label="lab_virc_SeasonalityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Seasonality [Abstract]</link:label>
    <link:label id="lab_virc_SeasonalityAbstract_label_en-US" xlink:label="lab_virc_SeasonalityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Seasonality [Abstract]</link:label>
    <link:label id="lab_virc_SeasonalityAbstract_documentation_en-US" xlink:label="lab_virc_SeasonalityAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Seasonality.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SeasonalityAbstract" xlink:href="virc-20231031.xsd#virc_SeasonalityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_SeasonalityAbstract" xlink:to="lab_virc_SeasonalityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_3caae65f-36d2-42e8-844c-9e91b182b06a_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash at beginning of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_ca15e330-3c9b-4c56-8733-12a035862a4c_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash at end of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_6345d371-53a3-4445-9fca-938151b35385_totalLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Benefit cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:to="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_182eb934-0897-477a-a89e-f8e902ed1671_verboseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt_14d36741-c49a-4d72-8a35-5b40d203557b_verboseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Borrowing from long-term debt</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_1dca198c-6838-42e6-9e67-2c7280b2487e_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_83b372fd-31d1-42a7-b5db-f6253ee6828a_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares issued (shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_4e4fb3c4-a831-4db9-9b94-47de48ed6da2_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_277b4846-f81e-4094-b8a1-47f934759aa8_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_1a0fac93-6c9d-4c9e-b93c-4539e6fa5121_verboseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (loss)</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxesPayableCurrentAndNoncurrent_3ef961ca-3422-496f-9d1d-e62ea32f2c19_terseLabel_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrentAndNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax payable</link:label>
    <link:label id="lab_us-gaap_TaxesPayableCurrentAndNoncurrent_label_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrentAndNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taxes Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxesPayableCurrentAndNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxesPayableCurrentAndNoncurrent" xlink:to="lab_us-gaap_TaxesPayableCurrentAndNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_85884eff-d12f-4155-bba7-95c0e8c36ef3_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis" xlink:to="lab_us-gaap_SubsequentEventTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_c00c7a0e-6d45-4c4f-9a05-06cdcf6d85a6_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of prior service cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Amortization of Prior Service Cost (Credit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:to="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanTypeDomain_51d61e77-c8e9-4e59-b63d-afa206aab488_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Domain]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanTypeDomain_label_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanTypeDomain" xlink:to="lab_us-gaap_RetirementPlanTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_46163e39-64d1-4729-af7f-84b365820a24_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_70ffa49b-9951-40d7-a617-a641893a6e0b_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_7a1b5267-9303-4d4c-afc0-2980a7bdacaa_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_21069c73-152a-4ba2-9afd-62bcbc9d7177_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_d719ea87-694c-429a-ab82-32a3bbf16d73_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain" xlink:to="lab_us-gaap_SubsequentEventTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseCost_e3544583-eca4-4f26-9d09-5063b907ae47_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease cost</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseCost_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_061f2c39-553f-439f-9b89-e23a686357fa_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Face amount</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Face Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFaceAmount" xlink:to="lab_us-gaap_DebtInstrumentFaceAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_df308064-1c11-4bb7-9a7d-96c3f5bb5543_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net comprehensive income</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_48b7026e-02ac-48fe-8010-db98e018a419_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_DeliveryCostsTextBlock_bd978697-4113-443e-a0a8-a2719edc9438_terseLabel_en-US" xlink:label="lab_virc_DeliveryCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Delivery Costs</link:label>
    <link:label id="lab_virc_DeliveryCostsTextBlock_label_en-US" xlink:label="lab_virc_DeliveryCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Delivery Costs [Text Block]</link:label>
    <link:label id="lab_virc_DeliveryCostsTextBlock_documentation_en-US" xlink:label="lab_virc_DeliveryCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Delivery Costs [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DeliveryCostsTextBlock" xlink:href="virc-20231031.xsd#virc_DeliveryCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_DeliveryCostsTextBlock" xlink:to="lab_virc_DeliveryCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfFinancingCosts_4a37cf04-e8b4-4168-91a3-8b5b7bc2d471_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfFinancingCosts" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment of deferred financing costs</link:label>
    <link:label id="lab_us-gaap_PaymentsOfFinancingCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of Financing Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfFinancingCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfFinancingCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfFinancingCosts" xlink:to="lab_us-gaap_PaymentsOfFinancingCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameAxis_345b765f-95e5-4ccb-946d-c3e95e84e4f9_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_PlanNameAxis_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_65b500d3-e808-4ec4-831d-84e6e1636801_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_2ded34a0-d945-4f93-acb4-1f1a12635503_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets, net</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_AmendedAndRestatedCreditAgreementMember_89408027-52d4-4a63-8c94-2f33b8430fec_terseLabel_en-US" xlink:label="lab_virc_AmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amended and Restated Credit Agreement</link:label>
    <link:label id="lab_virc_AmendedAndRestatedCreditAgreementMember_label_en-US" xlink:label="lab_virc_AmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amended and Restated Credit Agreement [Member]</link:label>
    <link:label id="lab_virc_AmendedAndRestatedCreditAgreementMember_documentation_en-US" xlink:label="lab_virc_AmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amended and Restated Credit Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_AmendedAndRestatedCreditAgreementMember" xlink:href="virc-20231031.xsd#virc_AmendedAndRestatedCreditAgreementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_AmendedAndRestatedCreditAgreementMember" xlink:to="lab_virc_AmendedAndRestatedCreditAgreementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_7a0088a4-fbdc-41cb-927f-3b9c2cf52f81_verboseLabel_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_label_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Depletion and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:to="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_LineOfCreditFacilityBorrowingCapacityTerm_0978e81f-a4a0-4467-8fcb-3d070bb0b7b9_terseLabel_en-US" xlink:label="lab_virc_LineOfCreditFacilityBorrowingCapacityTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit facility, term</link:label>
    <link:label id="lab_virc_LineOfCreditFacilityBorrowingCapacityTerm_label_en-US" xlink:label="lab_virc_LineOfCreditFacilityBorrowingCapacityTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Borrowing Capacity, Term</link:label>
    <link:label id="lab_virc_LineOfCreditFacilityBorrowingCapacityTerm_documentation_en-US" xlink:label="lab_virc_LineOfCreditFacilityBorrowingCapacityTerm" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Borrowing Capacity, Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LineOfCreditFacilityBorrowingCapacityTerm" xlink:href="virc-20231031.xsd#virc_LineOfCreditFacilityBorrowingCapacityTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_LineOfCreditFacilityBorrowingCapacityTerm" xlink:to="lab_virc_LineOfCreditFacilityBorrowingCapacityTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_dc5eb6dc-4512-4422-b532-2fb00494e3f1_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unused portion fee rate</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_SelfInsuranceRetention_e15f9c6f-9bf6-4c1a-8e07-87a5b9fc9c25_terseLabel_en-US" xlink:label="lab_virc_SelfInsuranceRetention" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Self insurance retention</link:label>
    <link:label id="lab_virc_SelfInsuranceRetention_label_en-US" xlink:label="lab_virc_SelfInsuranceRetention" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Self Insurance Retention</link:label>
    <link:label id="lab_virc_SelfInsuranceRetention_documentation_en-US" xlink:label="lab_virc_SelfInsuranceRetention" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Self Insurance Retention</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SelfInsuranceRetention" xlink:href="virc-20231031.xsd#virc_SelfInsuranceRetention"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_SelfInsuranceRetention" xlink:to="lab_virc_SelfInsuranceRetention" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameDomain_d616f66a-6826-4f4b-b88d-651c4b3c9df4_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_PlanNameDomain_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_03e91bb8-f79d-4609-9e22-7dd1f78d4bf9_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining of 2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesNoncurrent_b6343376-74d5-42d0-9bb4-ed8a3733f857_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total non-current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesNoncurrent" xlink:to="lab_us-gaap_LiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_5f52968a-43fd-4dd6-8c94-2bce144631f1_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DividendsPayableAmountPerShare_067e12ed-0688-407f-abb1-cba68a9f181d_terseLabel_en-US" xlink:label="lab_us-gaap_DividendsPayableAmountPerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividends payable (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_DividendsPayableAmountPerShare_label_en-US" xlink:label="lab_us-gaap_DividendsPayableAmountPerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividends Payable, Amount Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DividendsPayableAmountPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsPayableAmountPerShare" xlink:to="lab_us-gaap_DividendsPayableAmountPerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_c522796e-11df-4a04-b768-31ebd491a51f_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement_b5ca38c7-cb14-4b9c-aa1c-af7af3cb7129_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan settlement</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Benefit Obligation, (Increase) Decrease for Remeasurement due to Settlement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement" xlink:to="lab_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_746439cc-5ed5-464e-b258-89a937e499eb_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_68bbf85f-a831-4e3c-9afe-1123286938a0_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_76ec2993-7fa8-45a9-82e3-0ee631e47f66_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_e72ea7aa-79d4-40d5-99dd-b99a26b28b8c_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current portion operating lease liability</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_eaae79f0-238e-40c1-a391-b87b355b6ed7_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAbstract_4d0fadd0-2b68-4419-aa3b-20db260bb774_verboseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAbstract" xlink:to="lab_us-gaap_LiabilitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_7246c2e8-0def-4123-b51f-2ecc6f18412a_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net property, plant and equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalLeaseObligationsIncurred_0761daf2-ac36-4d99-b7fa-4e9bfa009aef_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalLeaseObligationsIncurred" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-use assets obtained in exchange for new lease liabilities</link:label>
    <link:label id="lab_us-gaap_CapitalLeaseObligationsIncurred_label_en-US" xlink:label="lab_us-gaap_CapitalLeaseObligationsIncurred" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease Obligation Incurred</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalLeaseObligationsIncurred" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalLeaseObligationsIncurred"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalLeaseObligationsIncurred" xlink:to="lab_us-gaap_CapitalLeaseObligationsIncurred" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfLongTermDebt_42e8f388-eea6-44e1-8a4a-21e88fda5259_negatedLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayment of long-term debt</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfLongTermDebt_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfLongTermDebt" xlink:to="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DomesticPlanMember_533316a2-1295-47a8-bd9b-12b5ca59d029_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Plan [Member]</link:label>
    <link:label id="lab_us-gaap_DomesticPlanMember_label_en-US" xlink:label="lab_us-gaap_DomesticPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticPlanMember" xlink:to="lab_us-gaap_DomesticPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent_43ddf670-ef8e-473f-896d-d97ff09d60cd_terseLabel_en-US" xlink:label="lab_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pension expense</link:label>
    <link:label id="lab_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent_label_en-US" xlink:label="lab_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Periodic Defined Benefits Expense (Reversal of Expense), Excluding Service Cost Component</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent" xlink:to="lab_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_e79ed88e-6549-41a8-a837-f1b91d867c76_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pension adjustments, net of tax effect</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_bb9404f2-80ab-4480-aa7d-52c6e348ad03_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum annual contributions per employee, percent</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:to="lab_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityAxis_5ed41a43-d6f2-4f91-8f01-6e40c0fc73ba_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lender Name [Axis]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lender Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis" xlink:to="lab_us-gaap_LineOfCreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract_7cfee930-3acb-448d-b5ea-5daa88710fbd_verboseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock:</link:label>
    <link:label id="lab_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Number of Shares, Par Value and Other Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:to="lab_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_1c001cf0-732a-4d3e-a025-9e0c6ff59940_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited in period (shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebt_f12ab785-8650-4f2e-b703-84b19f7ca7e7_totalLabel_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term debt</link:label>
    <link:label id="lab_us-gaap_LongTermDebt_31a46887-98cc-4ac8-b5cc-64b2c301dd5d_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term debt</link:label>
    <link:label id="lab_us-gaap_LongTermDebt_label_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebt" xlink:to="lab_us-gaap_LongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_7c3e4608-96d5-430a-80a5-6705d72ee4fc_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest rate during period</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Interest Rate During Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityInterestRateDuringPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod" xlink:to="lab_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_1208a540-ac34-4b10-8847-7c7c08a40687_verboseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term debt, less current portion</link:label>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_6e655a43-7c89-4c2c-af44-ddb11805cd07_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-current portion</link:label>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_label_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Excluding Current Maturities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtNoncurrent" xlink:to="lab_us-gaap_LongTermDebtNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_IncrementalCreditLineIncreaseDecrease_4c1b8141-c322-4d52-8b05-b4501b58293b_terseLabel_en-US" xlink:label="lab_virc_IncrementalCreditLineIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Credit Line Increase (Decrease)</link:label>
    <link:label id="lab_virc_IncrementalCreditLineIncreaseDecrease_label_en-US" xlink:label="lab_virc_IncrementalCreditLineIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Credit Line Increase (Decrease)</link:label>
    <link:label id="lab_virc_IncrementalCreditLineIncreaseDecrease_documentation_en-US" xlink:label="lab_virc_IncrementalCreditLineIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Credit Line Increase (Decrease)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncrementalCreditLineIncreaseDecrease" xlink:href="virc-20231031.xsd#virc_IncrementalCreditLineIncreaseDecrease"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_IncrementalCreditLineIncreaseDecrease" xlink:to="lab_virc_IncrementalCreditLineIncreaseDecrease" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_068a6300-7616-43c7-8dd2-08cd9e8885a0_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares authorized (shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_3dcea778-4e40-49b1-9161-2a50283b2222_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average remaining lease term (years)</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_a38e9659-6de7-4632-8dd2-7cba1ad37d22_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_59adcc33-b97e-48e4-a618-4884584da5d3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_cef8f27b-94a0-4901-817b-eeab210923fe_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_4c7f6186-d93a-48c7-8345-44eb815a431e_verboseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_c2f11a1e-a433-48d2-a170-f5ce44a303d5_verboseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_f06a6699-3308-417a-9e16-619b07e8b171_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_21102ffa-c2ea-4d8a-af1a-6f9421142444_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_CreditAgreementAmendmentFee_1c2d1eae-a460-42a1-b43f-acd36b00af59_terseLabel_en-US" xlink:label="lab_virc_CreditAgreementAmendmentFee" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Waiver and amendment fee</link:label>
    <link:label id="lab_virc_CreditAgreementAmendmentFee_label_en-US" xlink:label="lab_virc_CreditAgreementAmendmentFee" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Agreement, Amendment Fee</link:label>
    <link:label id="lab_virc_CreditAgreementAmendmentFee_documentation_en-US" xlink:label="lab_virc_CreditAgreementAmendmentFee" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Agreement, Amendment Fee</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_CreditAgreementAmendmentFee" xlink:href="virc-20231031.xsd#virc_CreditAgreementAmendmentFee"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_CreditAgreementAmendmentFee" xlink:to="lab_virc_CreditAgreementAmendmentFee" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_DebtInstrumentCovenantPeriodDomain_9b7d810c-53dd-4fdc-bac5-e2e8de8d848a_terseLabel_en-US" xlink:label="lab_virc_DebtInstrumentCovenantPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Covenant Period [Domain]</link:label>
    <link:label id="lab_virc_DebtInstrumentCovenantPeriodDomain_label_en-US" xlink:label="lab_virc_DebtInstrumentCovenantPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Covenant Period [Domain]</link:label>
    <link:label id="lab_virc_DebtInstrumentCovenantPeriodDomain_documentation_en-US" xlink:label="lab_virc_DebtInstrumentCovenantPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Covenant Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantPeriodDomain" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantPeriodDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_DebtInstrumentCovenantPeriodDomain" xlink:to="lab_virc_DebtInstrumentCovenantPeriodDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_acc9e3f9-f074-4891-9e0a-644704498aec_terseLabel_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_label_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember" xlink:to="lab_us-gaap_RevolvingCreditFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_325d6e65-9254-4c41-95e1-78922d4b5cec_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoriesMember_b8a7e85f-9143-4f56-9d0a-fe43751c23ed_terseLabel_en-US" xlink:label="lab_us-gaap_InventoriesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories [Member]</link:label>
    <link:label id="lab_us-gaap_InventoriesMember_label_en-US" xlink:label="lab_us-gaap_InventoriesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoriesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoriesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoriesMember" xlink:to="lab_us-gaap_InventoriesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_1a5586ee-d4a4-42f2-8b8e-43526b4bf56d_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems" xlink:to="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_3e24acbe-7318-4629-8b12-094f60922f98_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements and Changes in Accounting Principles [Abstract]</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update and Change in Accounting Principle [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:to="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_0b20737b-ab0c-4339-a18a-b32697348977_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid, Net</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaidNet" xlink:to="lab_us-gaap_IncomeTaxesPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_2505aec5-2f7b-4821-9bdf-1a7b990dfbbf_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares issued (shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_d1ee2c27-b629-4a0f-a80b-dc4f99b7b35b_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_1e9bb5dc-913b-4615-919a-422163c058e4_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_b8a89220-93c0-4cd6-bc41-1d0ccf4bc2b6_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of Net Cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit) [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract" xlink:to="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_bb5b47bd-4481-4325-87a4-a5b4d7bc5eeb_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_630c211b-dc4b-47e0-979b-0166c714edfb_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit facility, net</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Increase (Decrease), Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet" xlink:to="lab_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_LossLiabilityMember_52547205-0d99-4067-aa42-095776cafd07_terseLabel_en-US" xlink:label="lab_virc_LossLiabilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Liability [Member]</link:label>
    <link:label id="lab_virc_LossLiabilityMember_label_en-US" xlink:label="lab_virc_LossLiabilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Liability [Member]</link:label>
    <link:label id="lab_virc_LossLiabilityMember_documentation_en-US" xlink:label="lab_virc_LossLiabilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Liability [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LossLiabilityMember" xlink:href="virc-20231031.xsd#virc_LossLiabilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_LossLiabilityMember" xlink:to="lab_virc_LossLiabilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_EquipmentLoanMember_cdcb4137-9aa7-4d01-bfbb-27cb5aed832d_terseLabel_en-US" xlink:label="lab_virc_EquipmentLoanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equipment Loan [Member]</link:label>
    <link:label id="lab_virc_EquipmentLoanMember_label_en-US" xlink:label="lab_virc_EquipmentLoanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equipment Loan [Member]</link:label>
    <link:label id="lab_virc_EquipmentLoanMember_documentation_en-US" xlink:label="lab_virc_EquipmentLoanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equipment Loan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_EquipmentLoanMember" xlink:href="virc-20231031.xsd#virc_EquipmentLoanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_EquipmentLoanMember" xlink:to="lab_virc_EquipmentLoanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityTable_890b456c-2b56-496d-8918-b4b6e76ebb20_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityTable_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityTable" xlink:to="lab_us-gaap_LineOfCreditFacilityTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_a30301fc-ccdc-4696-ae0c-dac9ad859801_verboseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureTextBlock" xlink:to="lab_us-gaap_DebtDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductsAndServicesDomain_61fc41d6-d722-4655-88bd-1c0191ea622e_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_22e1af2e-9e24-4c47-837f-d95e874fc6d9_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized compensation expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_c593019e-9314-4c2d-8613-75780a349fc1_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_f6414a7d-a79c-406b-92a4-baf067fcbbf8_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubleaseIncome_a7058d45-07a4-4efd-a239-58f73a3ee291_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_SubleaseIncome" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sublease income</link:label>
    <link:label id="lab_us-gaap_SubleaseIncome_label_en-US" xlink:label="lab_us-gaap_SubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sublease Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubleaseIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubleaseIncome" xlink:to="lab_us-gaap_SubleaseIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_36d34ac9-a5e1-441e-9609-6d462ad8b83c_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_e1c7959b-939e-433d-84fa-197c8ac18b45_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_94b20b4b-2558-4857-a7bb-55ca371208a2_verboseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanSponsorLocationDomain_02f5ba29-0c2a-4d5f-8906-44517e0824d8_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Sponsor Location [Domain]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanSponsorLocationDomain_label_en-US" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Sponsor Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain" xlink:to="lab_us-gaap_RetirementPlanSponsorLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventMember_c75568a4-b271-4fd1-bb86-97b027ce7ed0_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventMember_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember" xlink:to="lab_us-gaap_SubsequentEventMember" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_SeasonalityTextualAbstract_5575316a-28b8-413d-a91b-4684cb2b92a9_verboseLabel_en-US" xlink:label="lab_virc_SeasonalityTextualAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Seasonality (Textual) [Abstract]</link:label>
    <link:label id="lab_virc_SeasonalityTextualAbstract_label_en-US" xlink:label="lab_virc_SeasonalityTextualAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Seasonality (Textual) [Abstract]</link:label>
    <link:label id="lab_virc_SeasonalityTextualAbstract_documentation_en-US" xlink:label="lab_virc_SeasonalityTextualAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Seasonality.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SeasonalityTextualAbstract" xlink:href="virc-20231031.xsd#virc_SeasonalityTextualAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_SeasonalityTextualAbstract" xlink:to="lab_virc_SeasonalityTextualAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear_0cdd8e2b-6eaa-46b1-b56c-0d91e54344cb_terseLabel_en-US" xlink:label="lab_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit facility, period for reduced borrowings during fourth quarter of each fiscal year (consecutive days)</link:label>
    <link:label id="lab_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear_label_en-US" xlink:label="lab_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Period for Reduced Borrowings during Fourth Quarter of Each Fiscal Year</link:label>
    <link:label id="lab_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear_documentation_en-US" xlink:label="lab_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Period for Reduced Borrowings during Fourth Quarter of Each Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear" xlink:href="virc-20231031.xsd#virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear" xlink:to="lab_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_289c2689-68fe-4f67-bb3d-ee5c0b461084_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_SurrenderOfLifeInsurancePolicies_3e627064-db10-450d-91ec-71b3ef1bd29f_negatedTerseLabel_en-US" xlink:label="lab_virc_SurrenderOfLifeInsurancePolicies" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Surrender of life insurance policies</link:label>
    <link:label id="lab_virc_SurrenderOfLifeInsurancePolicies_label_en-US" xlink:label="lab_virc_SurrenderOfLifeInsurancePolicies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Surrender of Life Insurance Policies</link:label>
    <link:label id="lab_virc_SurrenderOfLifeInsurancePolicies_documentation_en-US" xlink:label="lab_virc_SurrenderOfLifeInsurancePolicies" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Surrender of Life Insurance Policies</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SurrenderOfLifeInsurancePolicies" xlink:href="virc-20231031.xsd#virc_SurrenderOfLifeInsurancePolicies"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_SurrenderOfLifeInsurancePolicies" xlink:to="lab_virc_SurrenderOfLifeInsurancePolicies" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventLineItems_0046b727-766b-400a-9e9e-d7a4c87d2124_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventLineItems_label_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventLineItems" xlink:to="lab_us-gaap_SubsequentEventLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_a58b87fd-e7f7-4bc7-b441-f6faf0d3731b_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentLineItems" xlink:to="lab_us-gaap_DebtInstrumentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_9c197220-cf54-45c0-b206-6df9ce7213d8_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock:</link:label>
    <link:label id="lab_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Number of Shares, Par Value and Other Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:to="lab_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_4a4607ad-024c-4b24-9dc7-e5fc4d9a6c6c_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_488f48a3-5450-4fc9-86b4-3a211bb626a0_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_3fa4f918-9ff0-4f3a-8f13-a9ebdde81fb6_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Land_2e8dcf39-430e-4cd2-9082-ccbc63dcf1de_verboseLabel_en-US" xlink:label="lab_us-gaap_Land" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land</link:label>
    <link:label id="lab_us-gaap_Land_label_en-US" xlink:label="lab_us-gaap_Land" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Land" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Land"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Land" xlink:to="lab_us-gaap_Land" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_e9cd9101-679c-4b54-a9ea-0e88b192bd69_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_d230ebe6-d6b0-4dd3-8f00-6280fcd7cf56_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income per common share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_af6d4acf-ad71-410d-9a7d-ab63f3428fc8_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_867eb333-cb22-46bb-ba99-3d0235a35650_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio_6bdcaf03-1361-4e9a-b0d5-12cbaafc7ecb_terseLabel_en-US" xlink:label="lab_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum fixed charge coverage ratio</link:label>
    <link:label id="lab_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio_label_en-US" xlink:label="lab_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Covenant, Minimum Fixed Charge Coverage Ratio</link:label>
    <link:label id="lab_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio_documentation_en-US" xlink:label="lab_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument, covenant, maintained fixed charge coverage ratio</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio" xlink:to="lab_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax_e50fcf6d-ef43-416b-a681-b1e9712ad809_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pension adjustment, tax expense</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer_4d1d8872-5894-4442-a5a0-87ac513ae379_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contributions by employer</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Plan Assets, Contributions by Employer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:to="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_291fe37d-c66f-45e0-abc2-419230ff08cf_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring and Related Costs [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring and Related Costs [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_16ce6d63-81ed-4238-8644-1bb6dc51a3d8_verboseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current portion of long-term debt</link:label>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_7da6ca96-794c-4790-90fe-59fb468505c9_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less current portion</link:label>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_label_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Current Maturities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtCurrent" xlink:to="lab_us-gaap_LongTermDebtCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_14798f6c-9e8b-4f8f-be07-2a004dbe1775_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash (used in) provided by financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_ExtremeSeasonalityGoods_6019906e-76b4-4e63-a3a9-81aa69599f02_terseLabel_en-US" xlink:label="lab_virc_ExtremeSeasonalityGoods" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The market for educational furniture is marked by extreme seasonality</link:label>
    <link:label id="lab_virc_ExtremeSeasonalityGoods_label_en-US" xlink:label="lab_virc_ExtremeSeasonalityGoods" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Extreme Seasonality Goods</link:label>
    <link:label id="lab_virc_ExtremeSeasonalityGoods_documentation_en-US" xlink:label="lab_virc_ExtremeSeasonalityGoods" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Extreme seasonality goods.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ExtremeSeasonalityGoods" xlink:href="virc-20231031.xsd#virc_ExtremeSeasonalityGoods"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_ExtremeSeasonalityGoods" xlink:to="lab_virc_ExtremeSeasonalityGoods" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_35493f26-b5b5-43e5-9143-86a59a10cb66_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares of common stock outstanding:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LandImprovements_e3b2326b-6b94-43e6-a1d2-1866d2cac4c5_verboseLabel_en-US" xlink:label="lab_us-gaap_LandImprovements" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land improvements</link:label>
    <link:label id="lab_us-gaap_LandImprovements_label_en-US" xlink:label="lab_us-gaap_LandImprovements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land Improvements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandImprovements" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandImprovements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LandImprovements" xlink:to="lab_us-gaap_LandImprovements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryNet_d5dda247-f32c-4c95-9e75-756284fd038d_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryNet_5e0d9c4f-9ba1-4c01-bf51-3173e1bc0f64_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total inventories</link:label>
    <link:label id="lab_us-gaap_InventoryNet_label_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet" xlink:to="lab_us-gaap_InventoryNet" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense_26b0163a-35a9-4cae-96bf-7c25737d4f46_terseLabel_en-US" xlink:label="lab_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant And Equipment Included in AP And Accrued Expense</link:label>
    <link:label id="lab_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense_label_en-US" xlink:label="lab_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant And Equipment Included in AP And Accrued Expense</link:label>
    <link:label id="lab_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense_documentation_en-US" xlink:label="lab_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant And Equipment Included in AP And Accrued Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense" xlink:href="virc-20231031.xsd#virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense" xlink:to="lab_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_4ab1ea04-3f6e-4b22-81ff-87100f0de45d_verboseLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued compensation and employee benefits</link:label>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee-related Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableLeaseCost_0c7f2760-65db-40b6-9b8a-fbe86e493b5f_terseLabel_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable lease cost</link:label>
    <link:label id="lab_us-gaap_VariableLeaseCost_label_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableLeaseCost" xlink:to="lab_us-gaap_VariableLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_69925c41-785b-498b-abed-af337c95d5aa_verboseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_226e7e1d-ce78-488b-9e4e-5fc1b7ebbd44_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income before income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_356fe91d-1ae3-4627-946a-c71112c07c3f_verboseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_3ea9f892-1ad3-4f72-8640-c5e1b28e280e_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits_d2f8a050-46aa-4315-bdb0-82f8d4240aaf_verboseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Taxes and Tax Credits</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:to="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesNoncurrent_deae91b8-25ca-4a44-a194-1f82f0b3a7e0_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other long-term liabilities</link:label>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Accrued Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesNoncurrent" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_7a4cfdf8-ed16-4b15-a7f5-a63897ef81a6_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income per Share</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock" xlink:to="lab_us-gaap_EarningsPerShareTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherReceivables_0a75960b-ca58-4d98-8f9f-d980a7f5d6b8_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherReceivables" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other receivables</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherReceivables_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherReceivables" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Receivables</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherReceivables" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherReceivables"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherReceivables" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherReceivables" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanInterestCost_36a4a41a-ca9c-4d6a-bf60-aa8994b6cb11_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanInterestCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanInterestCost_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanInterestCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Interest Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanInterestCost" xlink:to="lab_us-gaap_DefinedBenefitPlanInterestCost" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_2d3c0a75-1f36-4f17-951b-fd5c36f5a20a_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_d93d704a-7336-4ecc-8dd3-939d6e78b636_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_8359a8d4-1300-4bd2-afda-a8e9066b80b5_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares outstanding - basic (shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_e8e07afe-b73d-448c-b6d6-36a7df1672a2_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_IncrementalCreditLineIncreaseDecreasePercentage_779f2fd5-3c14-46d6-bfed-239c3cb36144_terseLabel_en-US" xlink:label="lab_virc_IncrementalCreditLineIncreaseDecreasePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental credit line increase (decrease)</link:label>
    <link:label id="lab_virc_IncrementalCreditLineIncreaseDecreasePercentage_label_en-US" xlink:label="lab_virc_IncrementalCreditLineIncreaseDecreasePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Credit Line Increase (Decrease), Percentage</link:label>
    <link:label id="lab_virc_IncrementalCreditLineIncreaseDecreasePercentage_documentation_en-US" xlink:label="lab_virc_IncrementalCreditLineIncreaseDecreasePercentage" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Credit Line Increase (Decrease), Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncrementalCreditLineIncreaseDecreasePercentage" xlink:href="virc-20231031.xsd#virc_IncrementalCreditLineIncreaseDecreasePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_IncrementalCreditLineIncreaseDecreasePercentage" xlink:to="lab_virc_IncrementalCreditLineIncreaseDecreasePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BuildingsAndImprovementsGross_a77e9bac-10f3-4ead-9b20-216019757143_verboseLabel_en-US" xlink:label="lab_us-gaap_BuildingsAndImprovementsGross" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Buildings and building improvements</link:label>
    <link:label id="lab_us-gaap_BuildingsAndImprovementsGross_label_en-US" xlink:label="lab_us-gaap_BuildingsAndImprovementsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Buildings and Improvements, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingsAndImprovementsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingsAndImprovementsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BuildingsAndImprovementsGross" xlink:to="lab_us-gaap_BuildingsAndImprovementsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_country_US_a84c359c-a844-43c5-acfe-c2138e5f14cd_terseLabel_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">United States [Member]</link:label>
    <link:label id="lab_country_US_label_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UNITED STATES</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_US" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_US" xlink:to="lab_country_US" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_074933de-2aba-4447-a96b-95f42dfaa8ba_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized compensation expense, weighted average period to be recognized</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInIncomeTaxes_8946ebfc-c47f-4d13-827a-a33c97c2a714_verboseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income taxes</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:to="lab_us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesReceivable_38f60476-a2cf-4082-bc41-958e3c8f462e_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesReceivable" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax receivable</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesReceivable_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Receivable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesReceivable" xlink:to="lab_us-gaap_IncomeTaxesReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_1df7a4db-a36a-4a48-a11f-f5b4e6009a2c_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit</link:label>
    <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_cf1ca1a5-0461-4dba-b638-df6fedfabea4_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and contingencies (Notes 6, 7 and 13)</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingencies" xlink:to="lab_us-gaap_CommitmentsAndContingencies" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_6d0ec366-6394-498f-904c-91deb38de0b8_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_6316e6cf-a214-4323-a0fe-5d936472f6a1_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_SeasonalityTextBlock_3c52b920-e003-4896-bac4-826f5bee5869_verboseLabel_en-US" xlink:label="lab_virc_SeasonalityTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Seasonality and Management Use of Estimates</link:label>
    <link:label id="lab_virc_SeasonalityTextBlock_label_en-US" xlink:label="lab_virc_SeasonalityTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Seasonality [Text Block]</link:label>
    <link:label id="lab_virc_SeasonalityTextBlock_documentation_en-US" xlink:label="lab_virc_SeasonalityTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Seasonality.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SeasonalityTextBlock" xlink:href="virc-20231031.xsd#virc_SeasonalityTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_SeasonalityTextBlock" xlink:to="lab_virc_SeasonalityTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_cc889983-e9b2-4446-ac8a-17a145fdd103_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsTextBlock" xlink:to="lab_us-gaap_SubsequentEventsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockValue_5ca7b875-1ae5-4f5b-941b-4cb190696e74_verboseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Authorized 3,000,000 shares, $0.01 par value; none issued or outstanding</link:label>
    <link:label id="lab_us-gaap_PreferredStockValue_label_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MortgagesMember_30fedada-f419-4039-911c-bba3d2d3483b_terseLabel_en-US" xlink:label="lab_us-gaap_MortgagesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Original Mortgage Note</link:label>
    <link:label id="lab_us-gaap_MortgagesMember_label_en-US" xlink:label="lab_us-gaap_MortgagesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Mortgages [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MortgagesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MortgagesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MortgagesMember" xlink:to="lab_us-gaap_MortgagesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_7e0ba940-a7ca-471e-a276-64219acc156f_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plans and Other Postretirement Benefit Plans Disclosures [Table]</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plans and Other Postretirement Benefit Plans Disclosures [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable" xlink:to="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_78e083c9-656c-45ca-96be-41836fc9a017_verboseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net sales</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_533ee000-f783-4deb-a3fe-0b75568a67c5_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanServiceCost_4c73799a-2116-41be-b9a2-35d541a3c73a_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanServiceCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Service cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanServiceCost_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanServiceCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Service Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanServiceCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanServiceCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanServiceCost" xlink:to="lab_us-gaap_DefinedBenefitPlanServiceCost" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_DividendPayableMaximumAmountInFiscalYear_40173770-7409-4020-b411-1f1b47394ef6_terseLabel_en-US" xlink:label="lab_virc_DividendPayableMaximumAmountInFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum dividend amount in fiscal year</link:label>
    <link:label id="lab_virc_DividendPayableMaximumAmountInFiscalYear_label_en-US" xlink:label="lab_virc_DividendPayableMaximumAmountInFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividend Payable, Maximum Amount In Fiscal Year</link:label>
    <link:label id="lab_virc_DividendPayableMaximumAmountInFiscalYear_documentation_en-US" xlink:label="lab_virc_DividendPayableMaximumAmountInFiscalYear" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividend Payable, Maximum Amount In Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DividendPayableMaximumAmountInFiscalYear" xlink:href="virc-20231031.xsd#virc_DividendPayableMaximumAmountInFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_DividendPayableMaximumAmountInFiscalYear" xlink:to="lab_virc_DividendPayableMaximumAmountInFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_b45ddb92-dbf4-4f54-8fec-52b67c6fffe6_terseLabel_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesNoncurrentAbstract_12610818-0a16-4625-adcc-cdc8b333eb8c_verboseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesNoncurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesNoncurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesNoncurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Noncurrent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesNoncurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesNoncurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTable_8d38d5f2-abf3-49d4-9aa6-bd54f14676e5_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentTable_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-Term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTable" xlink:to="lab_us-gaap_DebtInstrumentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_AutomobileLiabilityLossMember_bc3196a1-329a-4cef-b80d-8232e5c2e649_terseLabel_en-US" xlink:label="lab_virc_AutomobileLiabilityLossMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Automobile Liability Loss [Member]</link:label>
    <link:label id="lab_virc_AutomobileLiabilityLossMember_label_en-US" xlink:label="lab_virc_AutomobileLiabilityLossMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Automobile Liability Loss [Member]</link:label>
    <link:label id="lab_virc_AutomobileLiabilityLossMember_documentation_en-US" xlink:label="lab_virc_AutomobileLiabilityLossMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Automobile Liability Loss [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_AutomobileLiabilityLossMember" xlink:href="virc-20231031.xsd#virc_AutomobileLiabilityLossMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_AutomobileLiabilityLossMember" xlink:to="lab_virc_AutomobileLiabilityLossMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_5c745e8e-ce8b-457c-b30c-29bbb26476cd_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromLifeInsurancePolicies_ead476e6-f128-4441-af0b-d922f0bf6efc_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromLifeInsurancePolicies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from surrendering life insurance policies</link:label>
    <link:label id="lab_us-gaap_ProceedsFromLifeInsurancePolicies_label_en-US" xlink:label="lab_us-gaap_ProceedsFromLifeInsurancePolicies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Life Insurance Policy</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLifeInsurancePolicies" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLifeInsurancePolicies"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromLifeInsurancePolicies" xlink:to="lab_us-gaap_ProceedsFromLifeInsurancePolicies" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_de140301-e97e-4fd4-86ac-0f66145482d0_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Work in process</link:label>
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Work in Process, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_fdfd1b60-b116-4090-88ef-b2c0fef45715_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Recognition</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_55acbf2a-4015-4776-97d1-c02b2abbae44_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_9233c9f6-a65d-48b5-b4be-1b8ed4e62a09_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax_7cae2a0e-21c0-4567-b53c-5c0ac6d3e532_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of net actuarial loss for pension plans</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Defined Benefit Plan, Gain (Loss), Reclassification Adjustment from AOCI, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_4ceba1e9-9055-420e-a3e8-1ea28708ba8c_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (usd per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_6f76a2e1-3f7b-4e7d-8665-211ff1eff093_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Raw materials</link:label>
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Raw Materials, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_50e2d3bd-93cd-404f-b13c-12319a7409b6_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PensionPlansDefinedBenefitMember_459788ff-f7a0-41c3-9b38-2d9176007dcf_terseLabel_en-US" xlink:label="lab_us-gaap_PensionPlansDefinedBenefitMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pension Plan [Member]</link:label>
    <link:label id="lab_us-gaap_PensionPlansDefinedBenefitMember_label_en-US" xlink:label="lab_us-gaap_PensionPlansDefinedBenefitMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pension Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PensionPlansDefinedBenefitMember" xlink:to="lab_us-gaap_PensionPlansDefinedBenefitMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_5d94ae5b-f94f-4905-ab40-79c1eaa76cfd_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax withholding payments on share-based compensation</link:label>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment, Tax Withholding, Share-Based Payment Arrangement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_c95f5196-f771-4cc8-a325-68a3e2fc1c82_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities and stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_6f964a8f-d018-42b6-882d-993d12034216_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_a5e534f7-f774-4ef7-a4e1-7f16f1499d61_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_SharesVestedAndOtherDuringPeriodValue_491afecf-c50c-4d08-a8c6-4dd409f703ef_terseLabel_en-US" xlink:label="lab_virc_SharesVestedAndOtherDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares vested and others</link:label>
    <link:label id="lab_virc_SharesVestedAndOtherDuringPeriodValue_label_en-US" xlink:label="lab_virc_SharesVestedAndOtherDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares Vested and Other During Period, Value</link:label>
    <link:label id="lab_virc_SharesVestedAndOtherDuringPeriodValue_documentation_en-US" xlink:label="lab_virc_SharesVestedAndOtherDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares Vested and Other During Period, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SharesVestedAndOtherDuringPeriodValue" xlink:href="virc-20231031.xsd#virc_SharesVestedAndOtherDuringPeriodValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_SharesVestedAndOtherDuringPeriodValue" xlink:to="lab_virc_SharesVestedAndOtherDuringPeriodValue" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent_8f336edb-fe39-4bc0-8e0b-2c4e1efff73b_verboseLabel_en-US" xlink:label="lab_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued pension expenses</link:label>
    <link:label id="lab_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent_label_en-US" xlink:label="lab_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pension and Other Postretirement Defined Benefit Plans, Including Life Insurance, Liabilities, Noncurrent</link:label>
    <link:label id="lab_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent_documentation_en-US" xlink:label="lab_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pension and Other Postretirement Defined Benefit Plans, Including Life Insurance, Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent" xlink:href="virc-20231031.xsd#virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent" xlink:to="lab_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTerm_a4a4c7eb-04e2-4160-8ac0-6e63f914a94d_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentTerm_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTerm" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTerm" xlink:to="lab_us-gaap_DebtInstrumentTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent_d88b374f-0707-48c3-b5d0-326b498bdc27_terseLabel_en-US" xlink:label="lab_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum annual contributions per employee, percent</link:label>
    <link:label id="lab_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent_label_en-US" xlink:label="lab_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan, Minimum Annual Contributions Per Employee, Percent</link:label>
    <link:label id="lab_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent_documentation_en-US" xlink:label="lab_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan, Minimum Annual Contributions Per Employee, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent" xlink:href="virc-20231031.xsd#virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent" xlink:to="lab_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfFinancingCosts_05a8779e-7f47-4567-9472-65a51b22a995_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of debt issuance costs</link:label>
    <link:label id="lab_us-gaap_AmortizationOfFinancingCosts_label_en-US" xlink:label="lab_us-gaap_AmortizationOfFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Debt Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfFinancingCosts" xlink:to="lab_us-gaap_AmortizationOfFinancingCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_c1efd5b5-983d-45b5-8d68-ffa208826d92_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeAxis" xlink:to="lab_us-gaap_LongtermDebtTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Cash_91e112f0-2c13-49ed-abcc-cae3c6944d2a_verboseLabel_en-US" xlink:label="lab_us-gaap_Cash" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_Cash_label_en-US" xlink:label="lab_us-gaap_Cash" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Cash" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Cash" xlink:to="lab_us-gaap_Cash" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesMember_f5819fd6-8dc8-45de-bfed-397096c439d8_verboseLabel_en-US" xlink:label="lab_us-gaap_SalesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales [Member]</link:label>
    <link:label id="lab_us-gaap_SalesMember_label_en-US" xlink:label="lab_us-gaap_SalesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesMember" xlink:to="lab_us-gaap_SalesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseholdImprovementsGross_c8fc9d53-4ad6-4b55-bdde-16a81de2854f_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold improvements</link:label>
    <link:label id="lab_us-gaap_LeaseholdImprovementsGross_label_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold Improvements, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsGross" xlink:to="lab_us-gaap_LeaseholdImprovementsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_e657f512-fd55-4379-8e33-de945bd0fd24_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_ProductLiabilityMember_39bdd46c-a848-4b93-a5ae-9f63f1f6a4fa_terseLabel_en-US" xlink:label="lab_virc_ProductLiabilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Liability [Member]</link:label>
    <link:label id="lab_virc_ProductLiabilityMember_label_en-US" xlink:label="lab_virc_ProductLiabilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Liability [Member]</link:label>
    <link:label id="lab_virc_ProductLiabilityMember_documentation_en-US" xlink:label="lab_virc_ProductLiabilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ProductLiabilityMember" xlink:href="virc-20231031.xsd#virc_ProductLiabilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_ProductLiabilityMember" xlink:to="lab_virc_ProductLiabilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c29a1cfc-fa9c-4506-92a6-298c51dc6b7c_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted in the period (shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_d0269e48-3866-4f7d-a716-bf2ecfdbcc47_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_DefinedContributionPlanNumberOfCommonSharesHeld_cdc4e913-23c6-4029-92df-5080cf6664ef_terseLabel_en-US" xlink:label="lab_virc_DefinedContributionPlanNumberOfCommonSharesHeld" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of common shares held</link:label>
    <link:label id="lab_virc_DefinedContributionPlanNumberOfCommonSharesHeld_label_en-US" xlink:label="lab_virc_DefinedContributionPlanNumberOfCommonSharesHeld" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan, Number of Common Shares Held</link:label>
    <link:label id="lab_virc_DefinedContributionPlanNumberOfCommonSharesHeld_documentation_en-US" xlink:label="lab_virc_DefinedContributionPlanNumberOfCommonSharesHeld" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan, Number of Common Shares Held</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DefinedContributionPlanNumberOfCommonSharesHeld" xlink:href="virc-20231031.xsd#virc_DefinedContributionPlanNumberOfCommonSharesHeld"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_DefinedContributionPlanNumberOfCommonSharesHeld" xlink:to="lab_virc_DefinedContributionPlanNumberOfCommonSharesHeld" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_99212b0e-943d-434e-b02a-bc5406fb14ee_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_84ea084a-dd66-4a7c-9e5a-8779b5778f04_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_eb4adc2c-e141-4cda-bf8c-8e9d10f4dbd7_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_57e1a69e-2200-404b-aebd-291350126ebe_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Difference between undiscounted cash flows and discounted cash flows</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_bb6747e3-9faf-40b1-b039-5f5cd8fc32b9_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (usd per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_f42c3b90-f53b-4447-945c-e8519a6bfe36_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (loss) per share - diluted (usd per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_OtherDebtMember_46f3a8c4-41a5-4901-be6a-34d0d3556d86_terseLabel_en-US" xlink:label="lab_virc_OtherDebtMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Debt [Member]</link:label>
    <link:label id="lab_virc_OtherDebtMember_label_en-US" xlink:label="lab_virc_OtherDebtMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Debt [Member]</link:label>
    <link:label id="lab_virc_OtherDebtMember_documentation_en-US" xlink:label="lab_virc_OtherDebtMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Debt [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_OtherDebtMember" xlink:href="virc-20231031.xsd#virc_OtherDebtMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_OtherDebtMember" xlink:to="lab_virc_OtherDebtMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_8e397f5a-f4e2-4cda-a9da-30dae1a75e5e_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from sale of marketable securities in trust accounts</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Sale of Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_225bfade-ba93-4621-976c-1ec468f9a29c_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income:</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_LineOfCreditFacilityBorrowingBaseLimitation_c49f2d11-2d0b-496c-873f-f7ed84916343_terseLabel_en-US" xlink:label="lab_virc_LineOfCreditFacilityBorrowingBaseLimitation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving credit facility borrowing base limitation</link:label>
    <link:label id="lab_virc_LineOfCreditFacilityBorrowingBaseLimitation_label_en-US" xlink:label="lab_virc_LineOfCreditFacilityBorrowingBaseLimitation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility Borrowing Base Limitation</link:label>
    <link:label id="lab_virc_LineOfCreditFacilityBorrowingBaseLimitation_documentation_en-US" xlink:label="lab_virc_LineOfCreditFacilityBorrowingBaseLimitation" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit facility borrowing base limitation.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LineOfCreditFacilityBorrowingBaseLimitation" xlink:href="virc-20231031.xsd#virc_LineOfCreditFacilityBorrowingBaseLimitation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_LineOfCreditFacilityBorrowingBaseLimitation" xlink:to="lab_virc_LineOfCreditFacilityBorrowingBaseLimitation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_198beaae-06bd-4012-9c6c-4ec8119705d7_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock compensation expense</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PostemploymentBenefitsDisclosureTextBlock_f3dad389-c3e2-4c31-9966-7cf704b446b3_terseLabel_en-US" xlink:label="lab_us-gaap_PostemploymentBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plans</link:label>
    <link:label id="lab_us-gaap_PostemploymentBenefitsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PostemploymentBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Postemployment Benefits Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PostemploymentBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PostemploymentBenefitsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PostemploymentBenefitsDisclosureTextBlock" xlink:to="lab_us-gaap_PostemploymentBenefitsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_cd3fe517-77df-4efe-b640-e742babe5986_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsAbstract" xlink:to="lab_us-gaap_SubsequentEventsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_30033d37-1b78-4d36-a8c1-272a9de5b6b8_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_8c6e6658-9d61-4a82-af22-f36b93671007_periodStartLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_bdc394a9-3147-4923-98f4-64c2e8fd25a2_periodEndLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard and Extended Product Warranty Accrual</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrual" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrual" xlink:to="lab_us-gaap_ProductWarrantyAccrual" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentFeeAmount_93296276-85f8-41a2-b3a6-cb7657222207_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentFeeAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-refundable fee</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentFeeAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentFeeAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Fee Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFeeAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFeeAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFeeAmount" xlink:to="lab_us-gaap_DebtInstrumentFeeAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_a7ddc15d-ba30-4cce-8555-7cf4dca8397f_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_fd7c8558-81fb-4239-80d4-7d504cb3c692_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable and accrued liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable and Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_c7fd66a5-3512-49d6-b1f7-37cb93ea7fb1_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_14f76471-b68e-4846-a008-52e3c8e38433_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_184b4fca-c14f-4978-a0de-a6a3b23a540a_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finished goods</link:label>
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Finished Goods, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityDomain_84c2610b-1f61-4e99-94da-809bf3f8602d_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityDomain_label_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveLineItems_dd80f9b5-c315-4ba9-a060-7cf9d8b6cac8_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Cost and Reserve [Line Items]</link:label>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveLineItems_label_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Cost and Reserve [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems" xlink:to="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss_dd3b0e60-1373-4b30-ad68-860d24577915_negatedLabel_en-US" xlink:label="lab_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recognized net actuarial loss</link:label>
    <link:label id="lab_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss_label_en-US" xlink:label="lab_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Recognized Net Actuarial Gain (Loss)</link:label>
    <link:label id="lab_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss_documentation_en-US" xlink:label="lab_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Recognized Net Actuarial Gain (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss" xlink:href="virc-20231031.xsd#virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss" xlink:to="lab_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_PNCMember_e866affe-de31-47ff-a62f-e988fcbd3431_terseLabel_en-US" xlink:label="lab_virc_PNCMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PNC [Member]</link:label>
    <link:label id="lab_virc_PNCMember_label_en-US" xlink:label="lab_virc_PNCMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">P.N.C [Member]</link:label>
    <link:label id="lab_virc_PNCMember_documentation_en-US" xlink:label="lab_virc_PNCMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">P.N.C [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_PNCMember" xlink:href="virc-20231031.xsd#virc_PNCMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_PNCMember" xlink:to="lab_virc_PNCMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestPaidNet_6a50d366-003c-497a-8149-1d21f66f5887_terseLabel_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:label id="lab_us-gaap_InterestPaidNet_label_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_6faedf44-2f94-4862-bae7-4c736b2f2586_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (usd per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_06d54735-bbc8-49b1-89b1-9c998f538b9a_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (loss) per share - basic (usd per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_705b42f9-0aec-4ab5-bcc4-f6f25ffc00c4_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_ProductWarranty_a09ff22f-322e-4b3a-83dc-f494f216d220_terseLabel_en-US" xlink:label="lab_virc_ProductWarranty" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product warranty period</link:label>
    <link:label id="lab_virc_ProductWarranty_label_en-US" xlink:label="lab_virc_ProductWarranty" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty</link:label>
    <link:label id="lab_virc_ProductWarranty_documentation_en-US" xlink:label="lab_virc_ProductWarranty" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product warranty.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ProductWarranty" xlink:href="virc-20231031.xsd#virc_ProductWarranty"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_ProductWarranty" xlink:to="lab_virc_ProductWarranty" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_a9a80eee-3d6e-4110-8b0a-f14e5abe90fc_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Minimum Future Lease Payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_f0cd630e-901d-4c6c-b71b-7b14b4af1574_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_ShippingAndClassroomDeliveryCosts_300ef6c8-fea2-4d1a-9277-7f47420b63ce_terseLabel_en-US" xlink:label="lab_virc_ShippingAndClassroomDeliveryCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shipping and classroom delivery costs</link:label>
    <link:label id="lab_virc_ShippingAndClassroomDeliveryCosts_label_en-US" xlink:label="lab_virc_ShippingAndClassroomDeliveryCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shipping And Classroom Delivery Costs</link:label>
    <link:label id="lab_virc_ShippingAndClassroomDeliveryCosts_documentation_en-US" xlink:label="lab_virc_ShippingAndClassroomDeliveryCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shipping And Classroom Delivery Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ShippingAndClassroomDeliveryCosts" xlink:href="virc-20231031.xsd#virc_ShippingAndClassroomDeliveryCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_ShippingAndClassroomDeliveryCosts" xlink:to="lab_virc_ShippingAndClassroomDeliveryCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_bc15ccd4-d993-4221-bf35-d619cdc8072e_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_95eb5475-ec0a-4cc4-85cc-51a6c53493d9_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_a9ce287d-402f-4fe7-9074-ab9de5239dce_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrealizedGainLossOnInvestments_871e2a64-10ce-4eca-acee-fb6c598fbfbf_negatedLabel_en-US" xlink:label="lab_us-gaap_UnrealizedGainLossOnInvestments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized (gain) loss on investment in trust account</link:label>
    <link:label id="lab_us-gaap_UnrealizedGainLossOnInvestments_33d44913-0309-4b87-b80a-56ad18e8e6ee_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_UnrealizedGainLossOnInvestments" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-cash unrealized (gain) loss on investment</link:label>
    <link:label id="lab_us-gaap_UnrealizedGainLossOnInvestments_label_en-US" xlink:label="lab_us-gaap_UnrealizedGainLossOnInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized Gain (Loss) on Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrealizedGainLossOnInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrealizedGainLossOnInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrealizedGainLossOnInvestments" xlink:to="lab_us-gaap_UnrealizedGainLossOnInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductOrServiceAxis_0e090e79-5d65-4b97-b23e-4fbe68e11c46_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_ff33ae70-1958-4f2e-8f84-0c58b2a88c68_negatedLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected return on plan assets</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Expected Return (Loss) on Plan Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets" xlink:to="lab_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLineItems_52bf8b17-5391-4d8a-a5e0-5d2ffc5a0008_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLineItems_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems" xlink:to="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_fed1d729-a85f-44f2-89f2-d16d46dd59f7_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining borrowing capacity</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Remaining Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestExpense_70ecbb28-4777-4d88-9f3d-9f81998ef22e_verboseLabel_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest expense</link:label>
    <link:label id="lab_us-gaap_InterestExpense_label_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestExpense" xlink:to="lab_us-gaap_InterestExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_c1a77d74-f2d6-4739-b6ca-5701e35a33d8_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityAxis_7bf43c93-891f-4f97-992c-f0ed5456625b_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanTypeAxis_6d387c46-5c38-488c-b440-1b63f13da66f_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Axis]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanTypeAxis_label_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanTypeAxis" xlink:to="lab_us-gaap_RetirementPlanTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_WarrantyLineItems_25fd18d3-82c6-41ee-8eee-9bff8fabfe4c_terseLabel_en-US" xlink:label="lab_virc_WarrantyLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warranty [Line Items]</link:label>
    <link:label id="lab_virc_WarrantyLineItems_label_en-US" xlink:label="lab_virc_WarrantyLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warranty [Line Items]</link:label>
    <link:label id="lab_virc_WarrantyLineItems_documentation_en-US" xlink:label="lab_virc_WarrantyLineItems" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warranty [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_WarrantyLineItems" xlink:href="virc-20231031.xsd#virc_WarrantyLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_WarrantyLineItems" xlink:to="lab_virc_WarrantyLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_2d72412d-5024-4952-b161-9561219a412c_verboseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_dc64c640-862a-4cf1-b823-c643201b86ae_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock_22fe4395-c768-49ee-abcd-9be0400c6d49_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding balances of long-term debt</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-Term Debt Instruments [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_2b87244e-87d8-4fd7-a994-d0e3609c751b_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTable_565d209b-cf0a-4135-b92b-c6ddcb1b34eb_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTable_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTable" xlink:to="lab_us-gaap_SubsequentEventTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_2abee9aa-877a-43c6-b3d5-bce3bd6a610e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested in period (shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement_385a4af9-0125-4074-a0b4-d5a9a6f57ba6_terseLabel_en-US" xlink:label="lab_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase in assemble to ship inventory sublimit under credit agreement</link:label>
    <link:label id="lab_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement_label_en-US" xlink:label="lab_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Assemble To Ship Inventory Sublimit Under Credit Agreement</link:label>
    <link:label id="lab_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement_documentation_en-US" xlink:label="lab_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Assemble To Ship Inventory Sublimit Under Credit Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement" xlink:href="virc-20231031.xsd#virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement" xlink:to="lab_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherReceivablesNetCurrent_499b86e7-dbdd-42a7-9f11-d967c4367168_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherReceivablesNetCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other receivables</link:label>
    <link:label id="lab_us-gaap_OtherReceivablesNetCurrent_label_en-US" xlink:label="lab_us-gaap_OtherReceivablesNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Receivables, Net, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherReceivablesNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherReceivablesNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherReceivablesNetCurrent" xlink:to="lab_us-gaap_OtherReceivablesNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_6c17ba5b-d582-4a82-a387-ef2ed44985b8_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract" xlink:to="lab_us-gaap_InventoryDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_7e52b9ea-be19-4dd1-9f41-4f7b2151ea8d_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_b2860ede-02b5-4538-801f-f56b1f6b026d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards authorized (shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCost_b8e682da-c62d-490a-9b4a-2a0c87f755e3_totalLabel_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease cost</link:label>
    <link:label id="lab_us-gaap_LeaseCost_label_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCost" xlink:to="lab_us-gaap_LeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRent_a99aca35-6adf-4b17-b907-359826fd58d7_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for amounts included in the measurement of lease liabilities</link:label>
    <link:label id="lab_us-gaap_PaymentsForRent_label_en-US" xlink:label="lab_us-gaap_PaymentsForRent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Rent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRent" xlink:to="lab_us-gaap_PaymentsForRent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_439aa80e-10ef-449f-b528-65907517f8ee_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_6459c754-49cc-4433-8126-f9ba7c577d52_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SelfInsuranceReserveNoncurrent_9a36dd5c-3ea9-4c31-bc8b-a562e0cf7978_terseLabel_en-US" xlink:label="lab_us-gaap_SelfInsuranceReserveNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued self-insurance retention</link:label>
    <link:label id="lab_us-gaap_SelfInsuranceReserveNoncurrent_label_en-US" xlink:label="lab_us-gaap_SelfInsuranceReserveNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Self Insurance Reserve, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SelfInsuranceReserveNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SelfInsuranceReserveNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SelfInsuranceReserveNoncurrent" xlink:to="lab_us-gaap_SelfInsuranceReserveNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_036a560c-0142-495b-9b56-3dd4188cc771_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quantitative Information of Leases</link:label>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_3ec1a14f-4733-4b71-89f5-70680835ffc2_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards available for future issuance (shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_ScheduleOfWarrantyTable_b42c8e6c-5d0a-41ef-ae69-89a3f4559964_terseLabel_en-US" xlink:label="lab_virc_ScheduleOfWarrantyTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Warranty [Table]</link:label>
    <link:label id="lab_virc_ScheduleOfWarrantyTable_label_en-US" xlink:label="lab_virc_ScheduleOfWarrantyTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Warranty [Table]</link:label>
    <link:label id="lab_virc_ScheduleOfWarrantyTable_documentation_en-US" xlink:label="lab_virc_ScheduleOfWarrantyTable" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Warranty [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ScheduleOfWarrantyTable" xlink:href="virc-20231031.xsd#virc_ScheduleOfWarrantyTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_ScheduleOfWarrantyTable" xlink:to="lab_virc_ScheduleOfWarrantyTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_94f590f9-c0bc-434d-9c16-70fd2cf45111_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanSponsorLocationAxis_b5c3c779-3121-4f8e-9418-9464b146acb9_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Sponsor Location [Axis]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanSponsorLocationAxis_label_en-US" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Sponsor Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="lab_us-gaap_RetirementPlanSponsorLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_90e0c41b-9a6f-4d89-8baf-a9cd3eee326b_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentQuarterlyReport_d37899fe-6c79-49de-84e2-facc4bf5dda7_terseLabel_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:label id="lab_dei_DocumentQuarterlyReport_label_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentQuarterlyReport" xlink:to="lab_dei_DocumentQuarterlyReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_4dca0fd5-9838-4446-b936-4ac8834ec5fd_verboseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warranty claim activity</link:label>
    <link:label id="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:to="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_98113e95-d8b8-48a7-9b41-89fa719270d8_verboseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_64cfcf6b-4ac2-4cbe-9a27-862c07a223be_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liability, less current portion</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_71a7e9e6-9f0c-4e9e-9f23-46cd10a18918_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_3912d9e1-32fa-42b8-a0d9-5f8f403f444c_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranties Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranties Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:to="lab_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_60b6f9bc-75a1-4c55-89a3-e162157fb366_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_04469c09-5c42-4b0a-84ec-99621ec096df_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net increase in cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLenderDomain_ebfad4f0-1722-4502-9238-b7eb60bcb50f_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLenderDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Lender [Domain]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLenderDomain_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLenderDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Lender [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="lab_us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_8843d763-7b4d-474c-87ea-c1caa052852c_terseLabel_en-US" xlink:label="lab_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_label_en-US" xlink:label="lab_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments Due After Year Four</link:label>
    <link:label id="lab_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_documentation_en-US" xlink:label="lab_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments Due After Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:href="virc-20231031.xsd#virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:to="lab_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_4152df32-30be-4e46-bc22-ef8708ef2423_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net effect of dilutive share-based on the treasury stock method using average market price (shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted, Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_f9e42f56-04a4-4147-a428-f49cb0f15ccc_verboseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1_75cc3b8f-4255-4ba4-b044-8434ca76f773_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined pension plan settlement</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Gain (Loss) Due to Settlement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1" xlink:to="lab_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_4146b846-1da4-4cfc-bf05-969092624b1a_verboseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade accounts receivables, net</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireMarketableSecurities_247d6373-dfd8-43e1-b95c-9fc9a2438325_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of marketable securities in trust accounts</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireMarketableSecurities_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Marketable Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:to="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_28537af1-aa3c-4a23-a6da-14f197b6fc43_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_69630fba-7638-4291-b566-43006d122267_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_e454e31e-49bd-4f5c-af17-8512221ace32_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_7577bce4-2d36-4b4e-8b79-55cd4184e3ca_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other accrued liabilities</link:label>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_89814dd9-725d-4239-b997-ea3a30e519f7_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of shares authorized to be repurchased (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Number of Shares Authorized to be Repurchased</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:to="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_1c1777f1-ec39-4af3-afc3-fde56160d469_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_c2ee4d00-0f79-4367-969b-21522e11f30b_verboseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_8015afb3-13ac-4d7f-848e-f3a2d656a41e_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_58d497a3-9dec-43fb-ac82-ca84ff373592_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_0e4c37e0-5a30-43e5-a684-623a3e629504_verboseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_abab3736-e0e9-4e4b-a0f8-a2665e4a6138_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeDomain" xlink:to="lab_us-gaap_LongtermDebtTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CompensationAndRetirementDisclosureAbstract_219ae80b-bb00-4665-9669-a2e38ebb719d_terseLabel_en-US" xlink:label="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Benefits [Abstract]</link:label>
    <link:label id="lab_us-gaap_CompensationAndRetirementDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Benefits [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_fc8ff742-db79-4653-9261-83d61277ddff_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_WorkerscompensationLiabilityInsuranceMember_a939cd09-063e-4f4f-b80d-075002a4ff3b_terseLabel_en-US" xlink:label="lab_virc_WorkerscompensationLiabilityInsuranceMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Workers compensation Liability Insurance [Member]</link:label>
    <link:label id="lab_virc_WorkerscompensationLiabilityInsuranceMember_label_en-US" xlink:label="lab_virc_WorkerscompensationLiabilityInsuranceMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Workers compensation Liability Insurance [Member]</link:label>
    <link:label id="lab_virc_WorkerscompensationLiabilityInsuranceMember_documentation_en-US" xlink:label="lab_virc_WorkerscompensationLiabilityInsuranceMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Workers compensation Liability Insurance [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_WorkerscompensationLiabilityInsuranceMember" xlink:href="virc-20231031.xsd#virc_WorkerscompensationLiabilityInsuranceMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_WorkerscompensationLiabilityInsuranceMember" xlink:to="lab_virc_WorkerscompensationLiabilityInsuranceMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_f7bd128c-3e64-4e38-8db4-df4ff8d151f3_verboseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general and administrative expenses</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_dd9a78bc-b88b-463f-9fde-86881cd060ed_verboseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update and Change in Accounting Principle [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LossContingenciesTable_4b61984a-1f55-49bc-8096-2b0b3d8b46ba_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingenciesTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Table]</link:label>
    <link:label id="lab_us-gaap_LossContingenciesTable_label_en-US" xlink:label="lab_us-gaap_LossContingenciesTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingenciesTable" xlink:to="lab_us-gaap_LossContingenciesTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_fda7fd2a-18bd-43bd-8063-cfb67e5b2bba_verboseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_cba7037b-6224-48d2-8cda-0084661c19d7_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease right-of-use assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_307ac685-662d-44cd-ad81-82f0687fe3bb_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LossContingencyDisclosures_17c8a0f9-3761-4f04-a2cd-f503de64ac57_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingencyDisclosures" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contingencies</link:label>
    <link:label id="lab_us-gaap_LossContingencyDisclosures_label_en-US" xlink:label="lab_us-gaap_LossContingencyDisclosures" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingencyDisclosures" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyDisclosures"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingencyDisclosures" xlink:to="lab_us-gaap_LossContingencyDisclosures" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_ded17e76-d675-488d-b893-d5cdfcf6421d_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_5c8fe042-6a09-4da2-a266-0c03fdd9539c_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_c0762a31-c890-4466-a4d3-53772710d851_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1f772e7d-723f-4b66-8756-932a666392c7_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital expenditures</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_IncreaseDecreaseApplicableMarginBasisPoints_73f3573e-a9c2-4ba8-bb2f-4ff8329e42a1_terseLabel_en-US" xlink:label="lab_virc_IncreaseDecreaseApplicableMarginBasisPoints" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (decrease) applicable margin basis points</link:label>
    <link:label id="lab_virc_IncreaseDecreaseApplicableMarginBasisPoints_label_en-US" xlink:label="lab_virc_IncreaseDecreaseApplicableMarginBasisPoints" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) Applicable Margin Basis Points</link:label>
    <link:label id="lab_virc_IncreaseDecreaseApplicableMarginBasisPoints_documentation_en-US" xlink:label="lab_virc_IncreaseDecreaseApplicableMarginBasisPoints" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) Applicable Margin Basis Points</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncreaseDecreaseApplicableMarginBasisPoints" xlink:href="virc-20231031.xsd#virc_IncreaseDecreaseApplicableMarginBasisPoints"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_IncreaseDecreaseApplicableMarginBasisPoints" xlink:to="lab_virc_IncreaseDecreaseApplicableMarginBasisPoints" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_05c83f0f-1b8b-4069-a875-4cc6118e8c58_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating income</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MachineryAndEquipmentGross_cb434f52-9188-4315-a2c5-a0a0288e8002_verboseLabel_en-US" xlink:label="lab_us-gaap_MachineryAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Machinery and equipment</link:label>
    <link:label id="lab_us-gaap_MachineryAndEquipmentGross_label_en-US" xlink:label="lab_us-gaap_MachineryAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Machinery and Equipment, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MachineryAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MachineryAndEquipmentGross" xlink:to="lab_us-gaap_MachineryAndEquipmentGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_a1a281f5-7b12-4594-b732-4e956c4e6a60_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_SharesVestedAndOtherDuringPeriodShares_f5f76b05-427d-44d4-ba25-a353643f40c8_terseLabel_en-US" xlink:label="lab_virc_SharesVestedAndOtherDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares vested and others (shares)</link:label>
    <link:label id="lab_virc_SharesVestedAndOtherDuringPeriodShares_label_en-US" xlink:label="lab_virc_SharesVestedAndOtherDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares Vested and Other During Period, Shares</link:label>
    <link:label id="lab_virc_SharesVestedAndOtherDuringPeriodShares_documentation_en-US" xlink:label="lab_virc_SharesVestedAndOtherDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares Vested and Other During Period, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SharesVestedAndOtherDuringPeriodShares" xlink:href="virc-20231031.xsd#virc_SharesVestedAndOtherDuringPeriodShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_SharesVestedAndOtherDuringPeriodShares" xlink:to="lab_virc_SharesVestedAndOtherDuringPeriodShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_d457d482-4f5f-482b-bf4c-d733785001c5_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_virc_GeneralLiabilityLossMember_0d739945-b0ce-467c-b812-71141f497cc0_terseLabel_en-US" xlink:label="lab_virc_GeneralLiabilityLossMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General Liability Loss</link:label>
    <link:label id="lab_virc_GeneralLiabilityLossMember_label_en-US" xlink:label="lab_virc_GeneralLiabilityLossMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General Liability Loss [Member]</link:label>
    <link:label id="lab_virc_GeneralLiabilityLossMember_documentation_en-US" xlink:label="lab_virc_GeneralLiabilityLossMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General Liability Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_virc_GeneralLiabilityLossMember" xlink:href="virc-20231031.xsd#virc_GeneralLiabilityLossMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_virc_GeneralLiabilityLossMember" xlink:to="lab_virc_GeneralLiabilityLossMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfSalesMember_490353fe-6b9f-4819-bc8b-27b03659349e_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods Sold [Member]</link:label>
    <link:label id="lab_us-gaap_CostOfSalesMember_label_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesMember" xlink:to="lab_us-gaap_CostOfSalesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_48f428d9-ce4b-464d-b623-67916fb83c22_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_04eb052b-91f6-4ff3-bbe2-2084e26b51d3_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares outstanding (shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_b71de7f6-d41b-4aa6-9c81-41e4efbc1dbd_periodStartLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_096cab56-b46a-425a-a2b0-bfdd7b1d4a20_periodEndLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases_c6e51e2b-756d-4891-886d-1dd3c8d7c2af_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit facility, equipment financing</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Capacity Available for Specific Purpose Other than for Trade Purchases</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases" xlink:to="lab_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>virc-20231031_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2023 Workiva-->
<!--r:666446c8-0469-4d73-a94d-625204a07bf5,g:2cbe8862-0ffb-416d-9d12-6eb7bb4dce10-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.virco.com/role/CoverPage" xlink:type="simple" xlink:href="virc-20231031.xsd#CoverPage"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/CoverPage" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_68bf9736-f0d4-4300-9632-11c2e69c17d6" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_DocumentType_68bf9736-f0d4-4300-9632-11c2e69c17d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_e8ee3786-6a06-4974-b448-5ee4bda742f5" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_DocumentQuarterlyReport_e8ee3786-6a06-4974-b448-5ee4bda742f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_c5c63708-b109-4f00-9c85-0d0e89227400" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_DocumentPeriodEndDate_c5c63708-b109-4f00-9c85-0d0e89227400" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_5ba90541-2c8f-47e0-b10e-839082e68eeb" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_DocumentTransitionReport_5ba90541-2c8f-47e0-b10e-839082e68eeb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_9f131932-79c8-4cdb-b47c-c72731466869" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityFileNumber_9f131932-79c8-4cdb-b47c-c72731466869" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_b0105eda-afde-4e20-b13f-97eed4c45c5c" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityRegistrantName_b0105eda-afde-4e20-b13f-97eed4c45c5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_ebd552b8-efa8-4527-a64f-f069d24d17d6" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityIncorporationStateCountryCode_ebd552b8-efa8-4527-a64f-f069d24d17d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_279939ea-dfc7-4bf0-8fac-b6548cf1da6d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityTaxIdentificationNumber_279939ea-dfc7-4bf0-8fac-b6548cf1da6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_f1743378-aa0e-4c57-9884-4653d9234d5e" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityAddressAddressLine1_f1743378-aa0e-4c57-9884-4653d9234d5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_f1a53afe-7cde-4bed-a4dc-014cbe3cd6e3" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityAddressCityOrTown_f1a53afe-7cde-4bed-a4dc-014cbe3cd6e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_b51d92ac-8019-4d9f-9531-52e4d82db577" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityAddressStateOrProvince_b51d92ac-8019-4d9f-9531-52e4d82db577" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_2f4c3750-b066-4f74-9ded-7795d67fa0c2" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityAddressPostalZipCode_2f4c3750-b066-4f74-9ded-7795d67fa0c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_afa83b2b-ffb4-49b6-a44d-f1fb5bdbcb65" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_CityAreaCode_afa83b2b-ffb4-49b6-a44d-f1fb5bdbcb65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_b9966b76-d642-411a-a652-601ada32d36d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_LocalPhoneNumber_b9966b76-d642-411a-a652-601ada32d36d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_9e461b6c-3509-479d-9866-13a8901e48f0" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_Security12bTitle_9e461b6c-3509-479d-9866-13a8901e48f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_966ad7a8-c942-4300-830b-af56178205b7" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_TradingSymbol_966ad7a8-c942-4300-830b-af56178205b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_8e5db8d1-b5d5-4488-84ff-57c1abeea94d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_SecurityExchangeName_8e5db8d1-b5d5-4488-84ff-57c1abeea94d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_b2fc5a54-b06e-47fc-84c2-b8829f7c4cc2" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityCentralIndexKey_b2fc5a54-b06e-47fc-84c2-b8829f7c4cc2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_eaf9deaf-77de-4398-9a6a-b0fbf79fca6d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityCurrentReportingStatus_eaf9deaf-77de-4398-9a6a-b0fbf79fca6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_1306dd4a-6a9b-4b2e-b5ea-03835d56155d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityInteractiveDataCurrent_1306dd4a-6a9b-4b2e-b5ea-03835d56155d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_3b6932df-9260-4d5b-8b12-35af4b36dbbb" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityFilerCategory_3b6932df-9260-4d5b-8b12-35af4b36dbbb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_1cf4bf29-064a-4442-808f-d10c90b859b4" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntitySmallBusiness_1cf4bf29-064a-4442-808f-d10c90b859b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_291c4cf8-3832-456b-8461-8b91a1c5ddcd" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityEmergingGrowthCompany_291c4cf8-3832-456b-8461-8b91a1c5ddcd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_818bd6d0-adc7-4ee3-b020-0f7383223e39" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityShellCompany_818bd6d0-adc7-4ee3-b020-0f7383223e39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_c8602cf1-9d36-4eb2-80c0-6ffb17f847c3" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_c8602cf1-9d36-4eb2-80c0-6ffb17f847c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_b4b3b387-0f32-4e6f-8d3f-fd521ca4adac" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_CurrentFiscalYearEndDate_b4b3b387-0f32-4e6f-8d3f-fd521ca4adac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_df3808b8-4683-4c3a-9258-c627563a4496" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_DocumentFiscalYearFocus_df3808b8-4683-4c3a-9258-c627563a4496" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_af43c1c2-79e4-43aa-a14a-0169960ce767" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_DocumentFiscalPeriodFocus_af43c1c2-79e4-43aa-a14a-0169960ce767" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_9a48a3ca-c620-4936-a67e-e6592353497e" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_046b57f9-e815-4e01-9acf-eb9abfdefe6b" xlink:to="loc_dei_AmendmentFlag_9a48a3ca-c620-4936-a67e-e6592353497e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedCondensedConsolidatedBalanceSheets"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_9bfc6949-5175-4644-a32e-8269f2495e95" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_6560aa5d-98eb-4ddc-9522-f3ac29432139" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_9bfc6949-5175-4644-a32e-8269f2495e95" xlink:to="loc_us-gaap_AssetsAbstract_6560aa5d-98eb-4ddc-9522-f3ac29432139" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_b42533db-daeb-4b78-bdb2-c5b5c23760c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_6560aa5d-98eb-4ddc-9522-f3ac29432139" xlink:to="loc_us-gaap_AssetsCurrentAbstract_b42533db-daeb-4b78-bdb2-c5b5c23760c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Cash_16d9b9d1-b40c-4908-b047-0db491402906" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_b42533db-daeb-4b78-bdb2-c5b5c23760c2" xlink:to="loc_us-gaap_Cash_16d9b9d1-b40c-4908-b047-0db491402906" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_5cc18059-cce6-40bb-8e0c-1f35f4bdec35" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_b42533db-daeb-4b78-bdb2-c5b5c23760c2" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_5cc18059-cce6-40bb-8e0c-1f35f4bdec35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherReceivablesNetCurrent_1bce7a05-6416-47c8-893c-2f6d9389ca25" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherReceivablesNetCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_b42533db-daeb-4b78-bdb2-c5b5c23760c2" xlink:to="loc_us-gaap_OtherReceivablesNetCurrent_1bce7a05-6416-47c8-893c-2f6d9389ca25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesReceivable_8630b875-38f9-4546-af12-5125f4ec271c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesReceivable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_b42533db-daeb-4b78-bdb2-c5b5c23760c2" xlink:to="loc_us-gaap_IncomeTaxesReceivable_8630b875-38f9-4546-af12-5125f4ec271c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_f83ba93a-29fd-4989-9b3c-a8efdca6273f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_b42533db-daeb-4b78-bdb2-c5b5c23760c2" xlink:to="loc_us-gaap_InventoryNet_f83ba93a-29fd-4989-9b3c-a8efdca6273f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_ae378289-6d38-4b13-a89f-d07a47928cfe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_b42533db-daeb-4b78-bdb2-c5b5c23760c2" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_ae378289-6d38-4b13-a89f-d07a47928cfe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_0e428a69-a6fb-4ddc-89e6-39a4de2169fd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_b42533db-daeb-4b78-bdb2-c5b5c23760c2" xlink:to="loc_us-gaap_AssetsCurrent_0e428a69-a6fb-4ddc-89e6-39a4de2169fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_f80c0b17-830b-426f-82f0-18e730a3be18" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_6560aa5d-98eb-4ddc-9522-f3ac29432139" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAbstract_f80c0b17-830b-426f-82f0-18e730a3be18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Land_846ed880-f5a4-412d-bbbc-a94b809b60cc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Land"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_f80c0b17-830b-426f-82f0-18e730a3be18" xlink:to="loc_us-gaap_Land_846ed880-f5a4-412d-bbbc-a94b809b60cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandImprovements_3322f833-d79b-4612-be77-7b96df8ac58f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandImprovements"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_f80c0b17-830b-426f-82f0-18e730a3be18" xlink:to="loc_us-gaap_LandImprovements_3322f833-d79b-4612-be77-7b96df8ac58f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingsAndImprovementsGross_571ccb23-b29a-4b71-9452-022fcb3e2339" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingsAndImprovementsGross"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_f80c0b17-830b-426f-82f0-18e730a3be18" xlink:to="loc_us-gaap_BuildingsAndImprovementsGross_571ccb23-b29a-4b71-9452-022fcb3e2339" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MachineryAndEquipmentGross_b3290686-7931-4cdb-a231-4ff9fb808cf6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentGross"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_f80c0b17-830b-426f-82f0-18e730a3be18" xlink:to="loc_us-gaap_MachineryAndEquipmentGross_b3290686-7931-4cdb-a231-4ff9fb808cf6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsGross_65944ab2-f055-4c43-8ec5-409439f328b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsGross"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_f80c0b17-830b-426f-82f0-18e730a3be18" xlink:to="loc_us-gaap_LeaseholdImprovementsGross_65944ab2-f055-4c43-8ec5-409439f328b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_a5ef7e9d-5cd7-466c-8a8c-2eaec54ceb3f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_f80c0b17-830b-426f-82f0-18e730a3be18" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_a5ef7e9d-5cd7-466c-8a8c-2eaec54ceb3f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_f6a3019f-c135-4284-a61a-4ecfcdcb4139" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_f80c0b17-830b-426f-82f0-18e730a3be18" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_f6a3019f-c135-4284-a61a-4ecfcdcb4139" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_544018ee-3d70-4937-a1c3-3197b9cc8f80" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_f80c0b17-830b-426f-82f0-18e730a3be18" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_544018ee-3d70-4937-a1c3-3197b9cc8f80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_982a7064-df10-480f-bf2e-3ec21e21be94" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_6560aa5d-98eb-4ddc-9522-f3ac29432139" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_982a7064-df10-480f-bf2e-3ec21e21be94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_2eeed60f-9cfe-4e61-bd24-a9f6f6f4c5ed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_6560aa5d-98eb-4ddc-9522-f3ac29432139" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_2eeed60f-9cfe-4e61-bd24-a9f6f6f4c5ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_569d33de-0d15-49a6-9a45-29fbceeef4c4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_6560aa5d-98eb-4ddc-9522-f3ac29432139" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_569d33de-0d15-49a6-9a45-29fbceeef4c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_9dbcbcfd-bf5e-4786-9cc7-b04596edd097" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_6560aa5d-98eb-4ddc-9522-f3ac29432139" xlink:to="loc_us-gaap_Assets_9dbcbcfd-bf5e-4786-9cc7-b04596edd097" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAbstract_814e79be-47ab-4687-a758-f56bd2f1071e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_9bfc6949-5175-4644-a32e-8269f2495e95" xlink:to="loc_us-gaap_LiabilitiesAbstract_814e79be-47ab-4687-a758-f56bd2f1071e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_921d1195-2c5b-4d68-afd2-6be399e587d2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_814e79be-47ab-4687-a758-f56bd2f1071e" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_921d1195-2c5b-4d68-afd2-6be399e587d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_064e2214-324a-4d70-88d1-d824f94f7ccf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_921d1195-2c5b-4d68-afd2-6be399e587d2" xlink:to="loc_us-gaap_AccountsPayableCurrent_064e2214-324a-4d70-88d1-d824f94f7ccf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_8ab531a6-12a3-4597-ac56-ad743850ae68" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_921d1195-2c5b-4d68-afd2-6be399e587d2" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_8ab531a6-12a3-4597-ac56-ad743850ae68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrentAndNoncurrent_7d3165cd-e3c4-478c-97be-a3bbfd1b05b4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxesPayableCurrentAndNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_921d1195-2c5b-4d68-afd2-6be399e587d2" xlink:to="loc_us-gaap_TaxesPayableCurrentAndNoncurrent_7d3165cd-e3c4-478c-97be-a3bbfd1b05b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_5edbbee0-f077-41a5-9fd9-32ce15b87290" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_921d1195-2c5b-4d68-afd2-6be399e587d2" xlink:to="loc_us-gaap_LongTermDebtCurrent_5edbbee0-f077-41a5-9fd9-32ce15b87290" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_f78984b7-d3e0-45c6-8e62-45372b145e29" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_921d1195-2c5b-4d68-afd2-6be399e587d2" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_f78984b7-d3e0-45c6-8e62-45372b145e29" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_0096da02-c968-4d40-99cf-87220dc29479" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_921d1195-2c5b-4d68-afd2-6be399e587d2" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_0096da02-c968-4d40-99cf-87220dc29479" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_b1357bc8-11c2-4556-a71d-004bd34c363b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_921d1195-2c5b-4d68-afd2-6be399e587d2" xlink:to="loc_us-gaap_LiabilitiesCurrent_b1357bc8-11c2-4556-a71d-004bd34c363b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesNoncurrentAbstract_ad4b463d-ec63-4406-bcc9-768377ca0b92" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_814e79be-47ab-4687-a758-f56bd2f1071e" xlink:to="loc_us-gaap_LiabilitiesNoncurrentAbstract_ad4b463d-ec63-4406-bcc9-768377ca0b92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SelfInsuranceReserveNoncurrent_cebd17d7-77c5-46fd-9cde-1e05de7bb8d9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SelfInsuranceReserveNoncurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesNoncurrentAbstract_ad4b463d-ec63-4406-bcc9-768377ca0b92" xlink:to="loc_us-gaap_SelfInsuranceReserveNoncurrent_cebd17d7-77c5-46fd-9cde-1e05de7bb8d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent_e1505178-3816-4b32-bf4e-e80d5d52d2de" xlink:href="virc-20231031.xsd#virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesNoncurrentAbstract_ad4b463d-ec63-4406-bcc9-768377ca0b92" xlink:to="loc_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent_e1505178-3816-4b32-bf4e-e80d5d52d2de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_4ba7151f-a9e5-4b7f-bc9e-b67196a1a108" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesNoncurrentAbstract_ad4b463d-ec63-4406-bcc9-768377ca0b92" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_4ba7151f-a9e5-4b7f-bc9e-b67196a1a108" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_c8a056fc-2aba-4084-9003-465ad4fe9a6d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesNoncurrentAbstract_ad4b463d-ec63-4406-bcc9-768377ca0b92" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_c8a056fc-2aba-4084-9003-465ad4fe9a6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesNoncurrent_36d282f5-3f4e-4596-863d-376595bef9ea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesNoncurrentAbstract_ad4b463d-ec63-4406-bcc9-768377ca0b92" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesNoncurrent_36d282f5-3f4e-4596-863d-376595bef9ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesNoncurrent_6e07309a-8edb-476d-932e-d98d41fc36f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesNoncurrentAbstract_ad4b463d-ec63-4406-bcc9-768377ca0b92" xlink:to="loc_us-gaap_LiabilitiesNoncurrent_6e07309a-8edb-476d-932e-d98d41fc36f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_2b50e648-005a-4461-9082-e0aee3d087dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_9bfc6949-5175-4644-a32e-8269f2495e95" xlink:to="loc_us-gaap_CommitmentsAndContingencies_2b50e648-005a-4461-9082-e0aee3d087dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_4e92a6d5-9386-41ec-81d8-b02bcf3c25e6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_9bfc6949-5175-4644-a32e-8269f2495e95" xlink:to="loc_us-gaap_StockholdersEquityAbstract_4e92a6d5-9386-41ec-81d8-b02bcf3c25e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract_f297219f-b1dd-41f0-acc5-f66d4a16b4f3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_4e92a6d5-9386-41ec-81d8-b02bcf3c25e6" xlink:to="loc_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract_f297219f-b1dd-41f0-acc5-f66d4a16b4f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_2cc70b69-56cf-4e55-b915-9f5a9e5454ed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract_f297219f-b1dd-41f0-acc5-f66d4a16b4f3" xlink:to="loc_us-gaap_PreferredStockValue_2cc70b69-56cf-4e55-b915-9f5a9e5454ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_66c45bf5-78c4-4fbb-b40a-9061c37c8335" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_4e92a6d5-9386-41ec-81d8-b02bcf3c25e6" xlink:to="loc_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_66c45bf5-78c4-4fbb-b40a-9061c37c8335" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_d7573a1f-b58a-4ef2-bdbd-febca3c5e543" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_66c45bf5-78c4-4fbb-b40a-9061c37c8335" xlink:to="loc_us-gaap_CommonStockValue_d7573a1f-b58a-4ef2-bdbd-febca3c5e543" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_a1d47c3c-f7dc-4345-bb8a-7921c46a64e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_66c45bf5-78c4-4fbb-b40a-9061c37c8335" xlink:to="loc_us-gaap_AdditionalPaidInCapital_a1d47c3c-f7dc-4345-bb8a-7921c46a64e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_966a24a2-ba6f-4522-8328-495e154237a1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_66c45bf5-78c4-4fbb-b40a-9061c37c8335" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_966a24a2-ba6f-4522-8328-495e154237a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_f16ac09d-f6a3-423c-9381-2e01720c0798" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_66c45bf5-78c4-4fbb-b40a-9061c37c8335" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_f16ac09d-f6a3-423c-9381-2e01720c0798" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_904f54e3-7945-4f32-b430-b3d2e1f52a9a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_4e92a6d5-9386-41ec-81d8-b02bcf3c25e6" xlink:to="loc_us-gaap_StockholdersEquity_904f54e3-7945-4f32-b430-b3d2e1f52a9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_c619b2f3-f652-4306-947b-7fd7e08f14cc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_9bfc6949-5175-4644-a32e-8269f2495e95" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_c619b2f3-f652-4306-947b-7fd7e08f14cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_26eea656-a181-444a-b878-a8273da7d2df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_9bfc6949-5175-4644-a32e-8269f2495e95" xlink:to="loc_us-gaap_CommonStockSharesIssued_26eea656-a181-444a-b878-a8273da7d2df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_0d7f1323-3bc5-4962-a410-236f23fbc39d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_9bfc6949-5175-4644-a32e-8269f2495e95" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_0d7f1323-3bc5-4962-a410-236f23fbc39d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedCondensedConsolidatedBalanceSheetsParenthetical"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_76a3e1de-963d-44a8-bcf8-806b51fd86f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_c02441e8-884a-4271-a6a3-6122080039c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_76a3e1de-963d-44a8-bcf8-806b51fd86f4" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_c02441e8-884a-4271-a6a3-6122080039c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_e7a5f8aa-dbde-4933-8c98-eb4e66da063e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_76a3e1de-963d-44a8-bcf8-806b51fd86f4" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_e7a5f8aa-dbde-4933-8c98-eb4e66da063e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_8e14840b-0b58-404b-8bcd-7fb7bd4dcb7e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_76a3e1de-963d-44a8-bcf8-806b51fd86f4" xlink:to="loc_us-gaap_PreferredStockSharesIssued_8e14840b-0b58-404b-8bcd-7fb7bd4dcb7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_f860b097-cf8b-416c-ad14-c0e619cc8b34" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_76a3e1de-963d-44a8-bcf8-806b51fd86f4" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_f860b097-cf8b-416c-ad14-c0e619cc8b34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_88033bab-06ee-4565-8cb1-44c62ceebb2b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_76a3e1de-963d-44a8-bcf8-806b51fd86f4" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_88033bab-06ee-4565-8cb1-44c62ceebb2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_b5c96d80-2478-4bff-9834-e3f830e050b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_76a3e1de-963d-44a8-bcf8-806b51fd86f4" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_b5c96d80-2478-4bff-9834-e3f830e050b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_d233cac9-7467-4a7a-8c15-cf15c770ae3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_76a3e1de-963d-44a8-bcf8-806b51fd86f4" xlink:to="loc_us-gaap_CommonStockSharesIssued_d233cac9-7467-4a7a-8c15-cf15c770ae3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_b5974f0b-ee3c-4427-b765-dad4164e5819" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_76a3e1de-963d-44a8-bcf8-806b51fd86f4" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_b5974f0b-ee3c-4427-b765-dad4164e5819" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedCondensedConsolidatedStatementsofIncome"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_48c29ebf-ff38-487e-99e6-128ec19478a2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_48c29ebf-ff38-487e-99e6-128ec19478a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_b72f970d-9ad4-4118-aa4a-3cbac2d7b295" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_b72f970d-9ad4-4118-aa4a-3cbac2d7b295" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_6e43e7a7-7030-4ffb-9f54-759392711d61" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_GrossProfit_6e43e7a7-7030-4ffb-9f54-759392711d61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_4bed5f2d-b908-4e57-947f-c6ff19be8bef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_4bed5f2d-b908-4e57-947f-c6ff19be8bef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_2c1c9eac-03eb-470c-9e43-4eb997486ead" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_OperatingIncomeLoss_2c1c9eac-03eb-470c-9e43-4eb997486ead" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrealizedGainLossOnInvestments_fac87e06-1a98-40a9-b31b-da76f0c4afdf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrealizedGainLossOnInvestments"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_UnrealizedGainLossOnInvestments_fac87e06-1a98-40a9-b31b-da76f0c4afdf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent_7d027187-8e6a-4024-b633-113f6cfde583" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent_7d027187-8e6a-4024-b633-113f6cfde583" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_24e09ac0-b92b-4187-ae9b-dae4bc5fe422" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_InterestExpense_24e09ac0-b92b-4187-ae9b-dae4bc5fe422" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2fddcfce-6d3a-46ab-9ea9-811baab48985" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2fddcfce-6d3a-46ab-9ea9-811baab48985" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_6a3a15fe-2b7c-45b8-a146-a839e7b87187" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_6a3a15fe-2b7c-45b8-a146-a839e7b87187" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_e0159a10-8134-4272-a909-083a4ecc9b3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_NetIncomeLoss_e0159a10-8134-4272-a909-083a4ecc9b3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_14608fbf-ea60-4401-9459-eb7613662a08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_EarningsPerShareAbstract_14608fbf-ea60-4401-9459-eb7613662a08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_b34023e6-baed-4907-860c-98e0d0096cd5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_14608fbf-ea60-4401-9459-eb7613662a08" xlink:to="loc_us-gaap_EarningsPerShareBasic_b34023e6-baed-4907-860c-98e0d0096cd5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_960ac87f-7857-47dc-9642-3c783d77be26" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_14608fbf-ea60-4401-9459-eb7613662a08" xlink:to="loc_us-gaap_EarningsPerShareDiluted_960ac87f-7857-47dc-9642-3c783d77be26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_a9372b18-c6c2-4b94-b267-6964a8b7f369" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_ffe8a929-d0b5-4739-8770-80a8c1ac4ea7" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_a9372b18-c6c2-4b94-b267-6964a8b7f369" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b110e72e-25a8-41f9-8a7c-6f9a4289688d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_a9372b18-c6c2-4b94-b267-6964a8b7f369" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b110e72e-25a8-41f9-8a7c-6f9a4289688d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5f46f0b8-16f3-4cac-b1ef-57f03eec284d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_a9372b18-c6c2-4b94-b267-6964a8b7f369" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5f46f0b8-16f3-4cac-b1ef-57f03eec284d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_061b58fa-0408-41ac-aa49-eb6bc75ad33a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_ea852572-cc7e-4593-8d2e-d6e3e6b164c5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_061b58fa-0408-41ac-aa49-eb6bc75ad33a" xlink:to="loc_us-gaap_NetIncomeLoss_ea852572-cc7e-4593-8d2e-d6e3e6b164c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_842b054c-71bb-4ab2-8ce2-154382a71de3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_061b58fa-0408-41ac-aa49-eb6bc75ad33a" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_842b054c-71bb-4ab2-8ce2-154382a71de3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_990349d5-e2a2-4ac9-9e10-a7f8707f2aab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_842b054c-71bb-4ab2-8ce2-154382a71de3" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_990349d5-e2a2-4ac9-9e10-a7f8707f2aab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_8cd7c255-9a16-4362-b45a-df5ccf34d484" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_061b58fa-0408-41ac-aa49-eb6bc75ad33a" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_8cd7c255-9a16-4362-b45a-df5ccf34d484" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLossParentheticals" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLossParentheticals"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLossParentheticals" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_7076a897-f05a-4458-aba9-bf8db6ab728a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax_a93067cb-3773-40bd-aacb-51f67c72acf9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_7076a897-f05a-4458-aba9-bf8db6ab728a" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax_a93067cb-3773-40bd-aacb-51f67c72acf9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedCondensedConsolidatedStatementsofCashFlows"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_eef778e6-1b0b-4718-ba12-e2db5e678b9a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_302f7a76-7005-4a2d-8e68-bf2e5a1de09d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_eef778e6-1b0b-4718-ba12-e2db5e678b9a" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_302f7a76-7005-4a2d-8e68-bf2e5a1de09d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_d9849da6-bef1-4dbb-983f-3e936fe9d1c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_302f7a76-7005-4a2d-8e68-bf2e5a1de09d" xlink:to="loc_us-gaap_NetIncomeLoss_d9849da6-bef1-4dbb-983f-3e936fe9d1c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_302f7a76-7005-4a2d-8e68-bf2e5a1de09d" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_226dbd32-dd37-4f0f-9c64-7f54fe16cfc4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_226dbd32-dd37-4f0f-9c64-7f54fe16cfc4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_NoncashRentExpense_711486c1-2437-4767-9fdc-9cf6283bba3e" xlink:href="virc-20231031.xsd#virc_NoncashRentExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:to="loc_virc_NoncashRentExpense_711486c1-2437-4767-9fdc-9cf6283bba3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_a430c99e-0934-4cc3-b1e3-b072f0e5b4fa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_a430c99e-0934-4cc3-b1e3-b072f0e5b4fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCosts_0ffd7f96-fb33-43a5-a32d-47dda723f0a0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:to="loc_us-gaap_AmortizationOfFinancingCosts_0ffd7f96-fb33-43a5-a32d-47dda723f0a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_36c98df4-6f89-47f1-9b3f-9dda522dcebf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:to="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_36c98df4-6f89-47f1-9b3f-9dda522dcebf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_4f80e7ca-9ce6-4c24-8f11-688d37c79ed3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:to="loc_us-gaap_ShareBasedCompensation_4f80e7ca-9ce6-4c24-8f11-688d37c79ed3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1_84246de8-0078-4992-9a0a-0f3ab50ce597" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:to="loc_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1_84246de8-0078-4992-9a0a-0f3ab50ce597" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax_80330b72-fada-4138-a552-fde38bfc399a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax_80330b72-fada-4138-a552-fde38bfc399a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrealizedGainLossOnInvestments_79d1cfd1-0b6a-4418-b321-f7d6b105aeed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrealizedGainLossOnInvestments"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:to="loc_us-gaap_UnrealizedGainLossOnInvestments_79d1cfd1-0b6a-4418-b321-f7d6b105aeed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SurrenderOfLifeInsurancePolicies_9464a5da-dd03-4b1d-97fe-7cca37f2b478" xlink:href="virc-20231031.xsd#virc_SurrenderOfLifeInsurancePolicies"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:to="loc_virc_SurrenderOfLifeInsurancePolicies_9464a5da-dd03-4b1d-97fe-7cca37f2b478" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c92146ff-0758-45ba-8d9a-8c3669bbd246" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_79fdb050-faaf-4e9c-a65c-8951cdec9c91" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c92146ff-0758-45ba-8d9a-8c3669bbd246" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_5dc471d1-7546-4ffb-b75e-66c25bcc5a83" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c92146ff-0758-45ba-8d9a-8c3669bbd246" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_5dc471d1-7546-4ffb-b75e-66c25bcc5a83" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherReceivables_173db825-c2dc-4e32-920f-b6ff93326854" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherReceivables"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c92146ff-0758-45ba-8d9a-8c3669bbd246" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherReceivables_173db825-c2dc-4e32-920f-b6ff93326854" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_e63944fe-5f91-4331-88d1-43c0ce281a66" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c92146ff-0758-45ba-8d9a-8c3669bbd246" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_e63944fe-5f91-4331-88d1-43c0ce281a66" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInIncomeTaxes_b00d271c-9f97-4ec5-b8ee-ad00842c7de4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInIncomeTaxes"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c92146ff-0758-45ba-8d9a-8c3669bbd246" xlink:to="loc_us-gaap_IncreaseDecreaseInIncomeTaxes_b00d271c-9f97-4ec5-b8ee-ad00842c7de4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_2ee3a388-694d-45ae-bc03-ca8904a04965" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c92146ff-0758-45ba-8d9a-8c3669bbd246" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_2ee3a388-694d-45ae-bc03-ca8904a04965" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_fb968cea-e1ba-4143-9706-73e7e9d6b62d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c92146ff-0758-45ba-8d9a-8c3669bbd246" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_fb968cea-e1ba-4143-9706-73e7e9d6b62d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_1fe62ca4-7310-4e88-95f8-ebcb0d1d5f9e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_302f7a76-7005-4a2d-8e68-bf2e5a1de09d" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_1fe62ca4-7310-4e88-95f8-ebcb0d1d5f9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7edfd36d-6a2d-4ee5-854a-e2b70fadabbe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_eef778e6-1b0b-4718-ba12-e2db5e678b9a" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7edfd36d-6a2d-4ee5-854a-e2b70fadabbe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_459ed68c-4be1-40a0-850a-ae7c02c1986c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7edfd36d-6a2d-4ee5-854a-e2b70fadabbe" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_459ed68c-4be1-40a0-850a-ae7c02c1986c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities_fa3ccf30-355f-4877-af3a-a2b0c3521912" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7edfd36d-6a2d-4ee5-854a-e2b70fadabbe" xlink:to="loc_us-gaap_PaymentsToAcquireMarketableSecurities_fa3ccf30-355f-4877-af3a-a2b0c3521912" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_4cdf7ec3-71db-4d5c-af98-97c8b2b57fb8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7edfd36d-6a2d-4ee5-854a-e2b70fadabbe" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_4cdf7ec3-71db-4d5c-af98-97c8b2b57fb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLifeInsurancePolicies_2665a08d-81e3-433f-997f-149cece6350f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLifeInsurancePolicies"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7edfd36d-6a2d-4ee5-854a-e2b70fadabbe" xlink:to="loc_us-gaap_ProceedsFromLifeInsurancePolicies_2665a08d-81e3-433f-997f-149cece6350f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_bc9d1961-14ed-4478-907a-cbc68b8d4db7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7edfd36d-6a2d-4ee5-854a-e2b70fadabbe" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_bc9d1961-14ed-4478-907a-cbc68b8d4db7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_50435e69-042b-48e7-b065-225ec2c37c87" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_eef778e6-1b0b-4718-ba12-e2db5e678b9a" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_50435e69-042b-48e7-b065-225ec2c37c87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_fa28d6cd-2bbc-4a4c-9771-ae5dfe2203b8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_50435e69-042b-48e7-b065-225ec2c37c87" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_fa28d6cd-2bbc-4a4c-9771-ae5dfe2203b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_97d2f4b1-6062-4bc5-882a-f71e8cabfa44" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_50435e69-042b-48e7-b065-225ec2c37c87" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_97d2f4b1-6062-4bc5-882a-f71e8cabfa44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfFinancingCosts_1d5fa52c-0624-4be6-9154-314745549d6e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfFinancingCosts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_50435e69-042b-48e7-b065-225ec2c37c87" xlink:to="loc_us-gaap_PaymentsOfFinancingCosts_1d5fa52c-0624-4be6-9154-314745549d6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_5d5c1969-7f40-4659-9c73-3b8232d5031b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_50435e69-042b-48e7-b065-225ec2c37c87" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_5d5c1969-7f40-4659-9c73-3b8232d5031b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_99d9c96f-112e-4c38-b329-4795051fd030" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_50435e69-042b-48e7-b065-225ec2c37c87" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_99d9c96f-112e-4c38-b329-4795051fd030" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_1809e513-80a2-4abc-bde0-4ee6643cf11d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_eef778e6-1b0b-4718-ba12-e2db5e678b9a" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_1809e513-80a2-4abc-bde0-4ee6643cf11d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_7b3f551c-03cf-4f99-8736-954a01878e01" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_eef778e6-1b0b-4718-ba12-e2db5e678b9a" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_7b3f551c-03cf-4f99-8736-954a01878e01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_776ec1db-7ac3-4ea2-9db4-aa6c4bf94e7a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_eef778e6-1b0b-4718-ba12-e2db5e678b9a" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_776ec1db-7ac3-4ea2-9db4-aa6c4bf94e7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense_b5b811e9-a4c9-4e6a-95fa-df5a61975825" xlink:href="virc-20231031.xsd#virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_eef778e6-1b0b-4718-ba12-e2db5e678b9a" xlink:to="loc_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense_b5b811e9-a4c9-4e6a-95fa-df5a61975825" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet_bfbda89b-cb01-47cb-8b66-c516e1c0d5e2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_eef778e6-1b0b-4718-ba12-e2db5e678b9a" xlink:to="loc_us-gaap_InterestPaidNet_bfbda89b-cb01-47cb-8b66-c516e1c0d5e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_d7ec0988-cd65-4aa3-ac1e-bbf6f21bcf5e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_eef778e6-1b0b-4718-ba12-e2db5e678b9a" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_d7ec0988-cd65-4aa3-ac1e-bbf6f21bcf5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity" xlink:type="simple" xlink:href="virc-20231031.xsd#UnauditedConsolidatedStatementsofChangesinStockholdersEquity"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_f69be8b2-5bf8-4ff8-b473-d8c74cae2076" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_3235aa53-6acb-40b4-95a1-c7afc4c8bd1c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_f69be8b2-5bf8-4ff8-b473-d8c74cae2076" xlink:to="loc_us-gaap_StatementTable_3235aa53-6acb-40b4-95a1-c7afc4c8bd1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_751fd891-1d3a-4b4b-a30b-af509a731e89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_3235aa53-6acb-40b4-95a1-c7afc4c8bd1c" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_751fd891-1d3a-4b4b-a30b-af509a731e89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_751fd891-1d3a-4b4b-a30b-af509a731e89" xlink:to="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_608a9e0b-fc5d-4066-9618-2339dbe82f47" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:to="loc_us-gaap_CommonStockMember_608a9e0b-fc5d-4066-9618-2339dbe82f47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_924cb121-34ac-4a9d-b0e7-cd7a15040525" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_924cb121-34ac-4a9d-b0e7-cd7a15040525" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_55f1c247-ec35-4fbf-9ec8-8cb4b46c18c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:to="loc_us-gaap_RetainedEarningsMember_55f1c247-ec35-4fbf-9ec8-8cb4b46c18c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_002d94cc-0b31-48c5-bb34-f0736ba2ab3e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_18f9b73a-61c8-422d-bfba-3f667a2face3" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_002d94cc-0b31-48c5-bb34-f0736ba2ab3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_a78c59f2-e408-44a7-8c52-94a46f1c12c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_3235aa53-6acb-40b4-95a1-c7afc4c8bd1c" xlink:to="loc_us-gaap_StatementLineItems_a78c59f2-e408-44a7-8c52-94a46f1c12c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_a78c59f2-e408-44a7-8c52-94a46f1c12c0" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_7204e1d8-5f3d-469f-b772-74e424f57f9d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_7204e1d8-5f3d-469f-b772-74e424f57f9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_6df84ee6-cbc5-4346-9c5c-344c6e6aaf30" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_StockholdersEquity_6df84ee6-cbc5-4346-9c5c-344c6e6aaf30" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_1a6eb533-85aa-47fd-a05b-40b214b4f495" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_NetIncomeLoss_1a6eb533-85aa-47fd-a05b-40b214b4f495" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_eb72d78c-f79f-4056-8650-eab7d53a8df6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_eb72d78c-f79f-4056-8650-eab7d53a8df6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SharesVestedAndOtherDuringPeriodShares_f4196dc2-7175-408e-8552-443c5481e0ee" xlink:href="virc-20231031.xsd#virc_SharesVestedAndOtherDuringPeriodShares"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_virc_SharesVestedAndOtherDuringPeriodShares_f4196dc2-7175-408e-8552-443c5481e0ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SharesVestedAndOtherDuringPeriodValue_5c729106-2780-4f55-8f37-8c9fb9a032dc" xlink:href="virc-20231031.xsd#virc_SharesVestedAndOtherDuringPeriodValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_virc_SharesVestedAndOtherDuringPeriodValue_5c729106-2780-4f55-8f37-8c9fb9a032dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_9ea5f28f-46aa-4390-af3e-2b2f679879c4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_9ea5f28f-46aa-4390-af3e-2b2f679879c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_075f2254-6191-4bde-bd58-6f8f92c1d765" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_075f2254-6191-4bde-bd58-6f8f92c1d765" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_a0ec3afd-7176-4ccd-8ac0-b96ebb3d5e35" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4fb8ccff-4c5c-48a3-a230-81a54e95c4f4" xlink:to="loc_us-gaap_StockholdersEquity_a0ec3afd-7176-4ccd-8ac0-b96ebb3d5e35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/BasisofPresentation" xlink:type="simple" xlink:href="virc-20231031.xsd#BasisofPresentation"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/BasisofPresentation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_6a405eb0-6329-476b-aa2c-af142c652afd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_98c5332e-db40-4a48-8817-bf8f0a581458" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_6a405eb0-6329-476b-aa2c-af142c652afd" xlink:to="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_98c5332e-db40-4a48-8817-bf8f0a581458" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/SeasonalityandManagementUseofEstimates" xlink:type="simple" xlink:href="virc-20231031.xsd#SeasonalityandManagementUseofEstimates"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/SeasonalityandManagementUseofEstimates" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_virc_SeasonalityAbstract_ad95871e-746a-4b8b-89b0-45697baedefa" xlink:href="virc-20231031.xsd#virc_SeasonalityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SeasonalityTextBlock_8f9a2ba5-e51f-44b4-80a5-6e32de52924d" xlink:href="virc-20231031.xsd#virc_SeasonalityTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_virc_SeasonalityAbstract_ad95871e-746a-4b8b-89b0-45697baedefa" xlink:to="loc_virc_SeasonalityTextBlock_8f9a2ba5-e51f-44b4-80a5-6e32de52924d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/NewAccountingPronouncements" xlink:type="simple" xlink:href="virc-20231031.xsd#NewAccountingPronouncements"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/NewAccountingPronouncements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_1627c89b-e66d-4229-8dbf-0bbe95a4a296" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_20f84aea-9b85-4934-8f98-c96fdc44ae3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_1627c89b-e66d-4229-8dbf-0bbe95a4a296" xlink:to="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_20f84aea-9b85-4934-8f98-c96fdc44ae3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/RevenueRecognition" xlink:type="simple" xlink:href="virc-20231031.xsd#RevenueRecognition"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/RevenueRecognition" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_e0353f5a-1ef3-473e-9e93-62e0700eb2f6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_10ceed71-1be6-4a16-9e44-35c9709b1350" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_e0353f5a-1ef3-473e-9e93-62e0700eb2f6" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_10ceed71-1be6-4a16-9e44-35c9709b1350" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/Inventories" xlink:type="simple" xlink:href="virc-20231031.xsd#Inventories"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/Inventories" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_7eac8586-600e-4eb1-b245-7b48e55d5986" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_6a527519-0ed7-487e-9855-2b582e704fa6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_7eac8586-600e-4eb1-b245-7b48e55d5986" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_6a527519-0ed7-487e-9855-2b582e704fa6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/Leases" xlink:type="simple" xlink:href="virc-20231031.xsd#Leases"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/Leases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_5c94c520-901c-4eae-91fd-7b6269848c00" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_ac1227f3-28b4-49a8-ad82-1e889f8abe37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5c94c520-901c-4eae-91fd-7b6269848c00" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_ac1227f3-28b4-49a8-ad82-1e889f8abe37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/Debt" xlink:type="simple" xlink:href="virc-20231031.xsd#Debt"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/Debt" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_0c096a6f-7a6c-4afa-8daf-b5aa5bd29962" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock_54e2c25e-75c7-405d-a18c-174a7781d42d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_0c096a6f-7a6c-4afa-8daf-b5aa5bd29962" xlink:to="loc_us-gaap_DebtDisclosureTextBlock_54e2c25e-75c7-405d-a18c-174a7781d42d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/IncomeTaxes" xlink:type="simple" xlink:href="virc-20231031.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_dbcbf22c-8600-4879-9eea-4779574bfbec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_211e16cd-a224-41bf-b926-071fc6a274b6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dbcbf22c-8600-4879-9eea-4779574bfbec" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_211e16cd-a224-41bf-b926-071fc6a274b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/NetlossperShare" xlink:type="simple" xlink:href="virc-20231031.xsd#NetlossperShare"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/NetlossperShare" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_972850c5-ae0c-4179-a242-0b31b6da98bd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_042fe1a6-31a6-4a51-ae42-2e6975bd20da" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_972850c5-ae0c-4179-a242-0b31b6da98bd" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_042fe1a6-31a6-4a51-ae42-2e6975bd20da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/StockBasedCompensation" xlink:type="simple" xlink:href="virc-20231031.xsd#StockBasedCompensation"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/StockBasedCompensation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9a7dc2a3-8b0c-412c-905e-689fa824c77a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_535aa413-2cb1-46a9-8cd0-df769f340e85" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9a7dc2a3-8b0c-412c-905e-689fa824c77a" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_535aa413-2cb1-46a9-8cd0-df769f340e85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/RetirementPlans" xlink:type="simple" xlink:href="virc-20231031.xsd#RetirementPlans"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/RetirementPlans" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_9c713eda-889f-41e7-acc5-20046817df29" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PostemploymentBenefitsDisclosureTextBlock_85200eb1-b6c1-4938-bf06-0a99ccb5ed37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PostemploymentBenefitsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_9c713eda-889f-41e7-acc5-20046817df29" xlink:to="loc_us-gaap_PostemploymentBenefitsDisclosureTextBlock_85200eb1-b6c1-4938-bf06-0a99ccb5ed37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/WarrantyAccrual" xlink:type="simple" xlink:href="virc-20231031.xsd#WarrantyAccrual"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/WarrantyAccrual" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_4f1e24af-c8fe-4b7b-9741-6f7864471ecd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock_2f8c26bd-55dd-4314-9521-e2906c105ca3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_4f1e24af-c8fe-4b7b-9741-6f7864471ecd" xlink:to="loc_us-gaap_ProductWarrantyDisclosureTextBlock_2f8c26bd-55dd-4314-9521-e2906c105ca3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/Contingencies" xlink:type="simple" xlink:href="virc-20231031.xsd#Contingencies"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/Contingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_835a3ec2-b6af-4ec6-8f72-5567dfd255e2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingencyDisclosures_29c8f4a3-409f-41a1-817b-6312af8cab1e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyDisclosures"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_835a3ec2-b6af-4ec6-8f72-5567dfd255e2" xlink:to="loc_us-gaap_LossContingencyDisclosures_29c8f4a3-409f-41a1-817b-6312af8cab1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/DeliveryCosts" xlink:type="simple" xlink:href="virc-20231031.xsd#DeliveryCosts"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/DeliveryCosts" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndExpensesAbstract_9f622e52-02c9-4dfc-b21c-41fd72d6a18a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DeliveryCostsTextBlock_66c7fe1c-22c8-4cc0-acab-5a774089be15" xlink:href="virc-20231031.xsd#virc_DeliveryCostsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherIncomeAndExpensesAbstract_9f622e52-02c9-4dfc-b21c-41fd72d6a18a" xlink:to="loc_virc_DeliveryCostsTextBlock_66c7fe1c-22c8-4cc0-acab-5a774089be15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/SubsequentEvents" xlink:type="simple" xlink:href="virc-20231031.xsd#SubsequentEvents"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/SubsequentEvents" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract_6528759c-7140-4af1-9fe1-36b2137a79d1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_ff59f0e4-3445-41eb-9927-f322dd384b69" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_6528759c-7140-4af1-9fe1-36b2137a79d1" xlink:to="loc_us-gaap_SubsequentEventsTextBlock_ff59f0e4-3445-41eb-9927-f322dd384b69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/InventoriesTables" xlink:type="simple" xlink:href="virc-20231031.xsd#InventoriesTables"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/InventoriesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_82cae412-2c6f-44ce-8eff-df208de37ec8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_0950a6a2-ec0d-4dba-b0d7-fbfaf0a145e4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_82cae412-2c6f-44ce-8eff-df208de37ec8" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_0950a6a2-ec0d-4dba-b0d7-fbfaf0a145e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/LeasesTables" xlink:type="simple" xlink:href="virc-20231031.xsd#LeasesTables"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_25f267e7-e134-4866-8697-c6320df08e82" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_eaf79758-ddf8-4e6f-ba68-e4b8b8b12f22" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_25f267e7-e134-4866-8697-c6320df08e82" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_eaf79758-ddf8-4e6f-ba68-e4b8b8b12f22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_157fa685-3424-4428-9c1f-433318d205c4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_25f267e7-e134-4866-8697-c6320df08e82" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_157fa685-3424-4428-9c1f-433318d205c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/DebtTables" xlink:type="simple" xlink:href="virc-20231031.xsd#DebtTables"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/DebtTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_d3980a33-904e-4564-923e-173835b55f46" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_b73134d4-bef8-4c27-9b70-4a81bbbeef09" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_d3980a33-904e-4564-923e-173835b55f46" xlink:to="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_b73134d4-bef8-4c27-9b70-4a81bbbeef09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/NetincomeperShareTables" xlink:type="simple" xlink:href="virc-20231031.xsd#NetincomeperShareTables"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/NetincomeperShareTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_ac66d2f4-7954-4d11-a4f7-c0c436960ede" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_d8315761-9287-4182-8be9-016061828090" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_ac66d2f4-7954-4d11-a4f7-c0c436960ede" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_d8315761-9287-4182-8be9-016061828090" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/StockBasedCompensationTables" xlink:type="simple" xlink:href="virc-20231031.xsd#StockBasedCompensationTables"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/StockBasedCompensationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_dbabaeab-ed70-4164-a586-77954243b4ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_0b848d9c-ab8a-4df3-94c6-c40a4730b00b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_dbabaeab-ed70-4164-a586-77954243b4ef" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_0b848d9c-ab8a-4df3-94c6-c40a4730b00b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/RetirementPlansTables" xlink:type="simple" xlink:href="virc-20231031.xsd#RetirementPlansTables"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/RetirementPlansTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_236b2865-f1b6-44a3-9aa6-b234b242161d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock_811b83de-b456-407b-9485-fb8c12fabc17" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_236b2865-f1b6-44a3-9aa6-b234b242161d" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock_811b83de-b456-407b-9485-fb8c12fabc17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/WarrantyAccrualTables" xlink:type="simple" xlink:href="virc-20231031.xsd#WarrantyAccrualTables"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/WarrantyAccrualTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_79c4ca2a-a83b-4745-9f60-6a23e1ea1e6e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_74518fc3-0225-40d1-ad92-4564bfb411c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_79c4ca2a-a83b-4745-9f60-6a23e1ea1e6e" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_74518fc3-0225-40d1-ad92-4564bfb411c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/BasisofPresentationDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#BasisofPresentationDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/BasisofPresentationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_be8a436c-5d05-45e7-8413-991e05cc7be5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_e8306c04-6023-4f01-aab3-529d8cb33f5c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_be8a436c-5d05-45e7-8413-991e05cc7be5" xlink:to="loc_us-gaap_StatementTable_e8306c04-6023-4f01-aab3-529d8cb33f5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_c7a3a4ca-f191-4fc1-8684-3ba4a5557147" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_e8306c04-6023-4f01-aab3-529d8cb33f5c" xlink:to="loc_srt_RangeAxis_c7a3a4ca-f191-4fc1-8684-3ba4a5557147" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a7c1697c-5c6a-4de1-944b-0b701b226e98" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_c7a3a4ca-f191-4fc1-8684-3ba4a5557147" xlink:to="loc_srt_RangeMember_a7c1697c-5c6a-4de1-944b-0b701b226e98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_4142f68f-912a-443d-bc6b-097c9360876b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_a7c1697c-5c6a-4de1-944b-0b701b226e98" xlink:to="loc_srt_MaximumMember_4142f68f-912a-443d-bc6b-097c9360876b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_ebd73238-15ff-4f64-8c2f-28fc63d69f96" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_e8306c04-6023-4f01-aab3-529d8cb33f5c" xlink:to="loc_us-gaap_StatementLineItems_ebd73238-15ff-4f64-8c2f-28fc63d69f96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio_0f32a7d2-86da-4364-9b6a-0e4dbc76a01d" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_ebd73238-15ff-4f64-8c2f-28fc63d69f96" xlink:to="loc_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio_0f32a7d2-86da-4364-9b6a-0e4dbc76a01d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/SeasonalityDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#SeasonalityDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/SeasonalityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_virc_SeasonalityAbstract_a1fe60c0-f9bc-4814-93dc-2099bf727ed0" xlink:href="virc-20231031.xsd#virc_SeasonalityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_904c5589-336b-458e-a8d9-847f50abf74f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_virc_SeasonalityAbstract_a1fe60c0-f9bc-4814-93dc-2099bf727ed0" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_904c5589-336b-458e-a8d9-847f50abf74f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_19f95bfe-d009-49c1-8fcc-b29c6dbbbec4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_904c5589-336b-458e-a8d9-847f50abf74f" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_19f95bfe-d009-49c1-8fcc-b29c6dbbbec4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_f80513e2-d817-408a-b8c0-6c40e810d357" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_19f95bfe-d009-49c1-8fcc-b29c6dbbbec4" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_f80513e2-d817-408a-b8c0-6c40e810d357" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesMember_cb07baab-1a43-4b99-9db9-4c3e19490f43" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_f80513e2-d817-408a-b8c0-6c40e810d357" xlink:to="loc_us-gaap_SalesMember_cb07baab-1a43-4b99-9db9-4c3e19490f43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_7a3235cd-5224-42f9-8af3-543f92863a89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_904c5589-336b-458e-a8d9-847f50abf74f" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_7a3235cd-5224-42f9-8af3-543f92863a89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SeasonalityTextualAbstract_f4164eb4-4557-4392-b485-e7106a428eb7" xlink:href="virc-20231031.xsd#virc_SeasonalityTextualAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_7a3235cd-5224-42f9-8af3-543f92863a89" xlink:to="loc_virc_SeasonalityTextualAbstract_f4164eb4-4557-4392-b485-e7106a428eb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ExtremeSeasonalityGoods_36cf02b2-0b72-4475-acb9-4d0b74c794c1" xlink:href="virc-20231031.xsd#virc_ExtremeSeasonalityGoods"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_virc_SeasonalityTextualAbstract_f4164eb4-4557-4392-b485-e7106a428eb7" xlink:to="loc_virc_ExtremeSeasonalityGoods_36cf02b2-0b72-4475-acb9-4d0b74c794c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/InventoriesDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#InventoriesDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/InventoriesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_45881167-7f96-43c9-b32f-cd1f9389f63b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_aec41a76-7612-4931-b09f-b39136aa1590" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_45881167-7f96-43c9-b32f-cd1f9389f63b" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_aec41a76-7612-4931-b09f-b39136aa1590" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_cb16d748-8d6c-4c09-a124-8b53c7644482" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_45881167-7f96-43c9-b32f-cd1f9389f63b" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_cb16d748-8d6c-4c09-a124-8b53c7644482" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_bbb73cde-1de2-4f39-ade6-fe90b7ed4955" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_45881167-7f96-43c9-b32f-cd1f9389f63b" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_bbb73cde-1de2-4f39-ade6-fe90b7ed4955" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_6513886c-2a4c-48f1-9cde-5084f3d28122" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_45881167-7f96-43c9-b32f-cd1f9389f63b" xlink:to="loc_us-gaap_InventoryNet_6513886c-2a4c-48f1-9cde-5084f3d28122" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#LeasesASC842QuantitativeInformationDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_bc7b1273-5c21-4542-9029-c05727b44fb3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_2054bc3c-5d4a-4aaa-8a58-68ac0054c426" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_bc7b1273-5c21-4542-9029-c05727b44fb3" xlink:to="loc_us-gaap_OperatingLeaseCost_2054bc3c-5d4a-4aaa-8a58-68ac0054c426" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost_ed0d05b1-f5d0-4167-aa29-639455fb209d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_bc7b1273-5c21-4542-9029-c05727b44fb3" xlink:to="loc_us-gaap_ShortTermLeaseCost_ed0d05b1-f5d0-4167-aa29-639455fb209d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome_ff18cf50-113f-4fda-91df-4caf309eea91" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubleaseIncome"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_bc7b1273-5c21-4542-9029-c05727b44fb3" xlink:to="loc_us-gaap_SubleaseIncome_ff18cf50-113f-4fda-91df-4caf309eea91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_1ded9ea7-b654-4311-bb78-606dd04b4766" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableLeaseCost"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_bc7b1273-5c21-4542-9029-c05727b44fb3" xlink:to="loc_us-gaap_VariableLeaseCost_1ded9ea7-b654-4311-bb78-606dd04b4766" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_281959de-3431-4e89-b98a-ced129199457" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_bc7b1273-5c21-4542-9029-c05727b44fb3" xlink:to="loc_us-gaap_LeaseCost_281959de-3431-4e89-b98a-ced129199457" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRent_324e3f11-bb13-42cf-bd48-b06fc6ceacde" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_bc7b1273-5c21-4542-9029-c05727b44fb3" xlink:to="loc_us-gaap_PaymentsForRent_324e3f11-bb13-42cf-bd48-b06fc6ceacde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalLeaseObligationsIncurred_8cac8b6f-f313-4ee9-b071-d1d909a4af8f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalLeaseObligationsIncurred"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_bc7b1273-5c21-4542-9029-c05727b44fb3" xlink:to="loc_us-gaap_CapitalLeaseObligationsIncurred_8cac8b6f-f313-4ee9-b071-d1d909a4af8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_e0d90317-76d7-4b0d-972b-4c08a36c9a8e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_bc7b1273-5c21-4542-9029-c05727b44fb3" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_e0d90317-76d7-4b0d-972b-4c08a36c9a8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_3cedc8ce-69e6-41ac-aa16-eb59a5ed21bf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_bc7b1273-5c21-4542-9029-c05727b44fb3" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_3cedc8ce-69e6-41ac-aa16-eb59a5ed21bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#LeasesASC842MinimumLeasePaymentsDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_d78e8f1a-e9d6-4631-8b19-d3ae7b4e5c42" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_d78e8f1a-e9d6-4631-8b19-d3ae7b4e5c42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_67dcd5c0-6748-4c8b-a125-224d50d3e3da" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_67dcd5c0-6748-4c8b-a125-224d50d3e3da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_0f9b5e9e-23c2-4552-8399-50ec8c1bdd98" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_0f9b5e9e-23c2-4552-8399-50ec8c1bdd98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_0614472e-71ce-4f79-825f-bc423a320b4f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_0614472e-71ce-4f79-825f-bc423a320b4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_086fd74a-379b-4dda-a568-8c2c97b8dfd2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_086fd74a-379b-4dda-a568-8c2c97b8dfd2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_09bd677b-9504-4296-bbeb-249b929143d7" xlink:href="virc-20231031.xsd#virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:to="loc_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_09bd677b-9504-4296-bbeb-249b929143d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_3b6af6b5-051b-4fac-8b57-eeed715e9583" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_3b6af6b5-051b-4fac-8b57-eeed715e9583" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_69f900f3-440e-4900-9ef7-5c4f093f2e61" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_69f900f3-440e-4900-9ef7-5c4f093f2e61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_738104a1-81dc-4288-98c3-e60f5a1cdca5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_738104a1-81dc-4288-98c3-e60f5a1cdca5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_ba7c001c-a34f-4743-ba6b-febfa462f252" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:to="loc_us-gaap_OperatingLeaseLiability_ba7c001c-a34f-4743-ba6b-febfa462f252" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_5a0b9414-00ad-4b94-8fe6-67bffe9a3277" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_00e3b075-1aa1-4613-a26c-671f9e74b8dc" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_5a0b9414-00ad-4b94-8fe6-67bffe9a3277" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1" xlink:type="simple" xlink:href="virc-20231031.xsd#LeasesASC842MinimumLeasePaymentsDetails_1"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.virco.com/role/DebtLongtermDebtDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#DebtLongtermDebtDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/DebtLongtermDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_fb09b970-71f1-4792-9e0d-ca9956782716" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_e7a5d03c-7860-422f-b236-6ff3abff2766" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_fb09b970-71f1-4792-9e0d-ca9956782716" xlink:to="loc_us-gaap_DebtInstrumentTable_e7a5d03c-7860-422f-b236-6ff3abff2766" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_868bcc7f-403d-405f-843f-59eead080741" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_e7a5d03c-7860-422f-b236-6ff3abff2766" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_868bcc7f-403d-405f-843f-59eead080741" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_e9bd5746-6c65-4dae-a8ab-623fc48b6032" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_868bcc7f-403d-405f-843f-59eead080741" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_e9bd5746-6c65-4dae-a8ab-623fc48b6032" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_e7ad4c33-2267-403d-89de-01e5a24de769" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_e9bd5746-6c65-4dae-a8ab-623fc48b6032" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_e7ad4c33-2267-403d-89de-01e5a24de769" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_OtherDebtMember_34936c88-8bb5-44f7-a842-abb9d315b659" xlink:href="virc-20231031.xsd#virc_OtherDebtMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_e9bd5746-6c65-4dae-a8ab-623fc48b6032" xlink:to="loc_virc_OtherDebtMember_34936c88-8bb5-44f7-a842-abb9d315b659" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_e7a5d03c-7860-422f-b236-6ff3abff2766" xlink:to="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_f75f42d7-a9a2-4e31-ae0d-44965129a1cc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:to="loc_us-gaap_LongTermDebt_f75f42d7-a9a2-4e31-ae0d-44965129a1cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_e352cd91-1086-4060-8a86-8d26df2a325d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:to="loc_us-gaap_LongTermDebtCurrent_e352cd91-1086-4060-8a86-8d26df2a325d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_88df8167-ba99-4af7-b44c-1a711b1892e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_88df8167-ba99-4af7-b44c-1a711b1892e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_e9476e44-86ab-46d3-9e71-07a9e2ffc808" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityInterestRateDuringPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1782e434-97d8-4598-aef2-86d3dc52cee6" xlink:to="loc_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_e9476e44-86ab-46d3-9e71-07a9e2ffc808" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/DebtNarrativeDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#DebtNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/DebtNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_d934e10a-5eb4-49c4-83a1-76c827b8a741" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_d934e10a-5eb4-49c4-83a1-76c827b8a741" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis_95d3c209-f3f1-462e-b78f-a844c82f6798" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_us-gaap_LineOfCreditFacilityAxis_95d3c209-f3f1-462e-b78f-a844c82f6798" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_405f1bdb-2be4-4a4f-ba5e-bb81198ada59" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_95d3c209-f3f1-462e-b78f-a844c82f6798" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_405f1bdb-2be4-4a4f-ba5e-bb81198ada59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_PNCMember_e99c848c-4309-43fe-b33d-c56f6ded0952" xlink:href="virc-20231031.xsd#virc_PNCMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain_405f1bdb-2be4-4a4f-ba5e-bb81198ada59" xlink:to="loc_virc_PNCMember_e99c848c-4309-43fe-b33d-c56f6ded0952" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_019daf2f-14b9-4671-9167-5365d4476f10" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_us-gaap_CreditFacilityAxis_019daf2f-14b9-4671-9167-5365d4476f10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_34708757-85ba-4442-8ccf-2a396196d131" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_019daf2f-14b9-4671-9167-5365d4476f10" xlink:to="loc_us-gaap_CreditFacilityDomain_34708757-85ba-4442-8ccf-2a396196d131" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_e3981999-51b9-4022-98b2-d8ac294c205f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_34708757-85ba-4442-8ccf-2a396196d131" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_e3981999-51b9-4022-98b2-d8ac294c205f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_EquipmentLoanMember_4289bd31-948c-4752-813b-b3e9d6857afb" xlink:href="virc-20231031.xsd#virc_EquipmentLoanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_34708757-85ba-4442-8ccf-2a396196d131" xlink:to="loc_virc_EquipmentLoanMember_4289bd31-948c-4752-813b-b3e9d6857afb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_58f5f1a0-5409-4b69-8eb5-999ff6cce052" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_us-gaap_DebtInstrumentAxis_58f5f1a0-5409-4b69-8eb5-999ff6cce052" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_9451286e-e8b6-4a91-a9b7-eb1176b1ca08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_58f5f1a0-5409-4b69-8eb5-999ff6cce052" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_9451286e-e8b6-4a91-a9b7-eb1176b1ca08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_AmendedAndRestatedCreditAgreementMember_f5f81426-348b-49d6-a4d7-fa7d832bfb18" xlink:href="virc-20231031.xsd#virc_AmendedAndRestatedCreditAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_9451286e-e8b6-4a91-a9b7-eb1176b1ca08" xlink:to="loc_virc_AmendedAndRestatedCreditAgreementMember_f5f81426-348b-49d6-a4d7-fa7d832bfb18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_753ba68e-53c6-4f21-82ca-95114949b2db" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_srt_RangeAxis_753ba68e-53c6-4f21-82ca-95114949b2db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a7268d46-54e2-4003-bb65-46a2ead7620e" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_753ba68e-53c6-4f21-82ca-95114949b2db" xlink:to="loc_srt_RangeMember_a7268d46-54e2-4003-bb65-46a2ead7620e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_e4978cd1-ceee-41f1-a4da-cbb0f606d195" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_a7268d46-54e2-4003-bb65-46a2ead7620e" xlink:to="loc_srt_MaximumMember_e4978cd1-ceee-41f1-a4da-cbb0f606d195" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_cd9f1b95-693d-4e0d-945e-419aae07d59e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_cd9f1b95-693d-4e0d-945e-419aae07d59e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_837612da-d101-4613-b2b8-f90aff05271c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_cd9f1b95-693d-4e0d-945e-419aae07d59e" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_837612da-d101-4613-b2b8-f90aff05271c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_2edc6487-d426-41be-a4b8-f3ff6de6ecba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_837612da-d101-4613-b2b8-f90aff05271c" xlink:to="loc_us-gaap_AccountsReceivableMember_2edc6487-d426-41be-a4b8-f3ff6de6ecba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_InventoryMember_9f53f350-2292-4d56-a6aa-c68f3c6709f8" xlink:href="virc-20231031.xsd#virc_InventoryMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_837612da-d101-4613-b2b8-f90aff05271c" xlink:to="loc_virc_InventoryMember_9f53f350-2292-4d56-a6aa-c68f3c6709f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoriesMember_a3afb0d0-005c-45e7-837f-d3de19ad9ed8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoriesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_837612da-d101-4613-b2b8-f90aff05271c" xlink:to="loc_us-gaap_InventoriesMember_a3afb0d0-005c-45e7-837f-d3de19ad9ed8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantPeriodAxis_375eb6b6-3a08-403c-a56c-97591921f6d4" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantPeriodAxis"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_virc_DebtInstrumentCovenantPeriodAxis_375eb6b6-3a08-403c-a56c-97591921f6d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantPeriodDomain_5df7928e-ff11-4bc5-be67-b0bc6398ea98" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantPeriodDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_virc_DebtInstrumentCovenantPeriodAxis_375eb6b6-3a08-403c-a56c-97591921f6d4" xlink:to="loc_virc_DebtInstrumentCovenantPeriodDomain_5df7928e-ff11-4bc5-be67-b0bc6398ea98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_CovenantPeriod1Member_96e219b0-778c-4457-89aa-764408c9447b" xlink:href="virc-20231031.xsd#virc_CovenantPeriod1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_virc_DebtInstrumentCovenantPeriodDomain_5df7928e-ff11-4bc5-be67-b0bc6398ea98" xlink:to="loc_virc_CovenantPeriod1Member_96e219b0-778c-4457-89aa-764408c9447b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_aab1227a-709a-4d68-9bf1-3cb938fdd7ad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_aab1227a-709a-4d68-9bf1-3cb938fdd7ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_cb71b688-893d-4344-86bd-39590baceacb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_aab1227a-709a-4d68-9bf1-3cb938fdd7ad" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_cb71b688-893d-4344-86bd-39590baceacb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_07ba53f9-2fce-4b26-8026-6297d57a42a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_cb71b688-893d-4344-86bd-39590baceacb" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_07ba53f9-2fce-4b26-8026-6297d57a42a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MortgagesMember_33ee21b5-8f60-48dd-8efd-e571b92a9b3c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MortgagesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_cb71b688-893d-4344-86bd-39590baceacb" xlink:to="loc_us-gaap_MortgagesMember_33ee21b5-8f60-48dd-8efd-e571b92a9b3c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_b48f916d-8d3a-4da4-8fc4-66a8b5927bab" xlink:to="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DividendPayableMaximumAmountInFiscalYear_525938a4-34c2-4056-bd28-0f8ff4b4da2d" xlink:href="virc-20231031.xsd#virc_DividendPayableMaximumAmountInFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_DividendPayableMaximumAmountInFiscalYear_525938a4-34c2-4056-bd28-0f8ff4b4da2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio_514cd9ba-2710-4aeb-ad69-b5586558ffc2" xlink:href="virc-20231031.xsd#virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio_514cd9ba-2710-4aeb-ad69-b5586558ffc2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_6dbc74fc-0b7e-4969-a531-4a1f62a80014" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_6dbc74fc-0b7e-4969-a531-4a1f62a80014" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LineOfCreditFacilityBorrowingBaseLimitation_225c3f74-1501-4270-8d98-f8f7b6333221" xlink:href="virc-20231031.xsd#virc_LineOfCreditFacilityBorrowingBaseLimitation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_LineOfCreditFacilityBorrowingBaseLimitation_225c3f74-1501-4270-8d98-f8f7b6333221" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LineOfCreditFacilityBorrowingCapacityTerm_195be97e-25ea-43ba-a194-77489c917651" xlink:href="virc-20231031.xsd#virc_LineOfCreditFacilityBorrowingCapacityTerm"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_LineOfCreditFacilityBorrowingCapacityTerm_195be97e-25ea-43ba-a194-77489c917651" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear_48b72737-9d21-42ba-bdd9-5e675418b13a" xlink:href="virc-20231031.xsd#virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear_48b72737-9d21-42ba-bdd9-5e675418b13a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_b690465f-4c58-48e3-b0db-effdb4ad3875" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityInterestRateDuringPeriod"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_b690465f-4c58-48e3-b0db-effdb4ad3875" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_CreditAgreementAmendmentFee_c8c1ae8f-c6f4-4adb-b5c2-f06a1fda249c" xlink:href="virc-20231031.xsd#virc_CreditAgreementAmendmentFee"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_CreditAgreementAmendmentFee_c8c1ae8f-c6f4-4adb-b5c2-f06a1fda249c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_e37223f4-1883-43dc-9798-b448202d6355" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_e37223f4-1883-43dc-9798-b448202d6355" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_8fe2fa1d-7627-4533-9fc7-c4669dd079ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_8fe2fa1d-7627-4533-9fc7-c4669dd079ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_2c0033e4-7984-44f7-bcb6-99e2765cd434" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_2c0033e4-7984-44f7-bcb6-99e2765cd434" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_91467f80-2979-400c-b85a-e4b68201ff1c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LongTermDebt_91467f80-2979-400c-b85a-e4b68201ff1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_c7567ca3-ce08-4e56-bb04-6d27cac9a9aa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_c7567ca3-ce08-4e56-bb04-6d27cac9a9aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTerm_ebe0b860-08b0-4bb5-9b29-4a3477bd4c8b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_DebtInstrumentTerm_ebe0b860-08b0-4bb5-9b29-4a3477bd4c8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_22fd11e3-4293-45ee-9c56-fd7df02960ab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_22fd11e3-4293-45ee-9c56-fd7df02960ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement_8b77c54a-fc7f-4379-bae5-84fb6622c3cd" xlink:href="virc-20231031.xsd#virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement_8b77c54a-fc7f-4379-bae5-84fb6622c3cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement_11f367a1-4694-48b0-959d-28910543122c" xlink:href="virc-20231031.xsd#virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement_11f367a1-4694-48b0-959d-28910543122c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncrementalCreditLineIncreaseDecreasePercentage_b979f0ad-019d-4736-886a-d7f224cd2283" xlink:href="virc-20231031.xsd#virc_IncrementalCreditLineIncreaseDecreasePercentage"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_IncrementalCreditLineIncreaseDecreasePercentage_b979f0ad-019d-4736-886a-d7f224cd2283" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncreaseDecreaseApplicableMarginBasisPoints_1b543af2-1d28-4cd8-96de-384692a66b55" xlink:href="virc-20231031.xsd#virc_IncreaseDecreaseApplicableMarginBasisPoints"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_IncreaseDecreaseApplicableMarginBasisPoints_1b543af2-1d28-4cd8-96de-384692a66b55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_IncrementalCreditLineIncreaseDecrease_0ef9344a-76a8-404c-b66d-0afc8282d156" xlink:href="virc-20231031.xsd#virc_IncrementalCreditLineIncreaseDecrease"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_virc_IncrementalCreditLineIncreaseDecrease_0ef9344a-76a8-404c-b66d-0afc8282d156" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFeeAmount_f33e5d8a-160a-4807-98bf-8f57088987d6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFeeAmount"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_DebtInstrumentFeeAmount_f33e5d8a-160a-4807-98bf-8f57088987d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases_2fec70f2-a21d-4411-bec6-e30eefb2164c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_88f2405f-351a-4d6d-a160-42bc2d2a8cfc" xlink:to="loc_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases_2fec70f2-a21d-4411-bec6-e30eefb2164c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/IncomeTaxesDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#IncomeTaxesDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/IncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_1c9f5947-eda4-4baf-992f-bc30075e6c8f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_5a998e0f-0252-4243-986c-8f3e50aa1d2b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1c9f5947-eda4-4baf-992f-bc30075e6c8f" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_5a998e0f-0252-4243-986c-8f3e50aa1d2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_3a70b8c1-7c15-4059-a07c-491cc1b2acdd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1c9f5947-eda4-4baf-992f-bc30075e6c8f" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_3a70b8c1-7c15-4059-a07c-491cc1b2acdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/NetincomeperShareDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#NetincomeperShareDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/NetincomeperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_68d7b48f-9dcd-477f-8a4e-9669cdf073ae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_7a9cc6be-fb17-4a55-9eb2-8c0e1d653bcf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_68d7b48f-9dcd-477f-8a4e-9669cdf073ae" xlink:to="loc_us-gaap_NetIncomeLoss_7a9cc6be-fb17-4a55-9eb2-8c0e1d653bcf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_6fb03eb8-fefe-422f-85dd-5263be0e214e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_68d7b48f-9dcd-477f-8a4e-9669cdf073ae" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_6fb03eb8-fefe-422f-85dd-5263be0e214e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_d286e8a2-53f2-47e0-bb7f-fa6f6117e4ba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_68d7b48f-9dcd-477f-8a4e-9669cdf073ae" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_d286e8a2-53f2-47e0-bb7f-fa6f6117e4ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_740a71df-5f0f-494f-8ddc-f2a8a29afa73" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_68d7b48f-9dcd-477f-8a4e-9669cdf073ae" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_740a71df-5f0f-494f-8ddc-f2a8a29afa73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_ea3e0296-f070-47cf-aed5-e7691ad1340f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_68d7b48f-9dcd-477f-8a4e-9669cdf073ae" xlink:to="loc_us-gaap_EarningsPerShareBasic_ea3e0296-f070-47cf-aed5-e7691ad1340f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_699deb91-db2f-403e-9ff3-1cdc96dd8fa5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_68d7b48f-9dcd-477f-8a4e-9669cdf073ae" xlink:to="loc_us-gaap_EarningsPerShareDiluted_699deb91-db2f-403e-9ff3-1cdc96dd8fa5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/StockBasedCompensationDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#StockBasedCompensationDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/StockBasedCompensationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_52f1e4d6-7b8f-41fa-b0cb-4456c2c22b11" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_aa243e88-22ec-4feb-a9f1-ea6f462c1d2c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_52f1e4d6-7b8f-41fa-b0cb-4456c2c22b11" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_aa243e88-22ec-4feb-a9f1-ea6f462c1d2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_06ee1aa1-e4bd-4261-8db5-7add71eff245" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_aa243e88-22ec-4feb-a9f1-ea6f462c1d2c" xlink:to="loc_us-gaap_AwardTypeAxis_06ee1aa1-e4bd-4261-8db5-7add71eff245" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8bd2b1c-a9fd-4430-897d-a837c835fe6a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_06ee1aa1-e4bd-4261-8db5-7add71eff245" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8bd2b1c-a9fd-4430-897d-a837c835fe6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_a5024d2f-939c-4a1a-a3ff-83b3ab6aa011" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8bd2b1c-a9fd-4430-897d-a837c835fe6a" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_a5024d2f-939c-4a1a-a3ff-83b3ab6aa011" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_765617cc-5314-4260-ad55-fd183a5c1aea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_aa243e88-22ec-4feb-a9f1-ea6f462c1d2c" xlink:to="loc_us-gaap_PlanNameAxis_765617cc-5314-4260-ad55-fd183a5c1aea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_473b8e10-ce64-4944-b2d2-f087b2526665" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_765617cc-5314-4260-ad55-fd183a5c1aea" xlink:to="loc_us-gaap_PlanNameDomain_473b8e10-ce64-4944-b2d2-f087b2526665" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_StockIncentivePlan2019Member_913cdcc5-6173-4594-88af-f3455a91ba86" xlink:href="virc-20231031.xsd#virc_StockIncentivePlan2019Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_473b8e10-ce64-4944-b2d2-f087b2526665" xlink:to="loc_virc_StockIncentivePlan2019Member_913cdcc5-6173-4594-88af-f3455a91ba86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_abba5c52-555b-4148-8be5-8879746aef67" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_aa243e88-22ec-4feb-a9f1-ea6f462c1d2c" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_abba5c52-555b-4148-8be5-8879746aef67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_d3ddf936-1278-45b7-91ae-e27df273702e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_abba5c52-555b-4148-8be5-8879746aef67" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_d3ddf936-1278-45b7-91ae-e27df273702e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_90005129-3c31-4449-b7d8-33844c40e753" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_d3ddf936-1278-45b7-91ae-e27df273702e" xlink:to="loc_us-gaap_CostOfSalesMember_90005129-3c31-4449-b7d8-33844c40e753" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_3b87a838-f136-494f-9ffb-9f3f616248c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_d3ddf936-1278-45b7-91ae-e27df273702e" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_3b87a838-f136-494f-9ffb-9f3f616248c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_aa243e88-22ec-4feb-a9f1-ea6f462c1d2c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_c87d3a99-2de1-4a3e-ad81-507154ea676d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_c87d3a99-2de1-4a3e-ad81-507154ea676d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4aaf61d8-ddff-4ffe-91aa-125ae1aa532f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4aaf61d8-ddff-4ffe-91aa-125ae1aa532f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_d81e7c0e-312a-4bd3-8780-1474edb9759b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_d81e7c0e-312a-4bd3-8780-1474edb9759b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_28b50093-1d75-4413-8b7b-c76c85051c1c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_28b50093-1d75-4413-8b7b-c76c85051c1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_e9159e0d-db9b-433f-8f35-dc04a6b01c24" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_e9159e0d-db9b-433f-8f35-dc04a6b01c24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_ae5e27d3-1b58-4641-a534-bc827e142121" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_ae5e27d3-1b58-4641-a534-bc827e142121" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_77c95dec-b4c1-45bb-af0b-c21543a1ce1f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_77c95dec-b4c1-45bb-af0b-c21543a1ce1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_2a2a69cc-1173-497a-a09b-cfc15195cd46" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bbdd88d-9116-4988-bf2c-67326f7d63a6" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_2a2a69cc-1173-497a-a09b-cfc15195cd46" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#RetirementPlansPeriodicPensionCostDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_8ebf96db-cc20-4e3b-97ad-522726ac1fb2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_cf406876-ceb6-45f6-8c21-83036cee3e62" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_8ebf96db-cc20-4e3b-97ad-522726ac1fb2" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_cf406876-ceb6-45f6-8c21-83036cee3e62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_34a4f238-0fcf-4c57-a54a-0cc9b436a225" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_cf406876-ceb6-45f6-8c21-83036cee3e62" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_34a4f238-0fcf-4c57-a54a-0cc9b436a225" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_f86fd28f-8fc4-4b15-8ed8-2e470cd5be37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_34a4f238-0fcf-4c57-a54a-0cc9b436a225" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_f86fd28f-8fc4-4b15-8ed8-2e470cd5be37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember_838766fd-662f-4c47-8127-ca0e125911cd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_f86fd28f-8fc4-4b15-8ed8-2e470cd5be37" xlink:to="loc_us-gaap_PensionPlansDefinedBenefitMember_838766fd-662f-4c47-8127-ca0e125911cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_2e6e7d32-4409-472c-a97a-830edcaa630d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_cf406876-ceb6-45f6-8c21-83036cee3e62" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_2e6e7d32-4409-472c-a97a-830edcaa630d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_2e6e7d32-4409-472c-a97a-830edcaa630d" xlink:to="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanServiceCost_7316c5aa-b75f-4eae-a7dd-360ee5969279" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanServiceCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanServiceCost_7316c5aa-b75f-4eae-a7dd-360ee5969279" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_976ef5c0-ce5b-4450-ba14-616d83f847ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_976ef5c0-ce5b-4450-ba14-616d83f847ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_dd00c802-0e02-41c2-8739-635e76259fcc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_dd00c802-0e02-41c2-8739-635e76259fcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement_67de8059-8215-4315-8c30-8a204c7a9abd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement_67de8059-8215-4315-8c30-8a204c7a9abd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_744c7c8b-cee0-45d7-b6d6-27243bceee40" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_744c7c8b-cee0-45d7-b6d6-27243bceee40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss_d7397d5c-718b-4587-bdf5-e8438e86799e" xlink:href="virc-20231031.xsd#virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss_d7397d5c-718b-4587-bdf5-e8438e86799e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_2142e81d-1e2c-4017-a4df-69e36b98a6ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract_0b6cbdb0-6812-475f-a1ec-da2843987ada" xlink:to="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_2142e81d-1e2c-4017-a4df-69e36b98a6ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/RetirementPlansNarrativeDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#RetirementPlansNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/RetirementPlansNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_70f7669e-e890-4ff8-a736-290752e1d970" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_d2885093-cedd-4163-a4bf-d2d6a373a237" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_70f7669e-e890-4ff8-a736-290752e1d970" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_d2885093-cedd-4163-a4bf-d2d6a373a237" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_c99a7361-c202-478e-b260-7a0cf075f77a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_d2885093-cedd-4163-a4bf-d2d6a373a237" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_c99a7361-c202-478e-b260-7a0cf075f77a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_c8d79e34-03eb-427e-9018-4ca10a482d0c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_c99a7361-c202-478e-b260-7a0cf075f77a" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_c8d79e34-03eb-427e-9018-4ca10a482d0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_a10781c1-f594-4cff-a3e8-0563cb097d99" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_c8d79e34-03eb-427e-9018-4ca10a482d0c" xlink:to="loc_us-gaap_DomesticPlanMember_a10781c1-f594-4cff-a3e8-0563cb097d99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_35fa5984-f98f-4910-a6e7-3e1795bbc179" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DomesticPlanMember_a10781c1-f594-4cff-a3e8-0563cb097d99" xlink:to="loc_country_US_35fa5984-f98f-4910-a6e7-3e1795bbc179" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_4e9f2314-7fae-438b-8691-ef261187ef38" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_d2885093-cedd-4163-a4bf-d2d6a373a237" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_4e9f2314-7fae-438b-8691-ef261187ef38" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_7cb0ca42-70ea-4291-a4c8-099439edd3db" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_4e9f2314-7fae-438b-8691-ef261187ef38" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_7cb0ca42-70ea-4291-a4c8-099439edd3db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember_6cfda684-279c-4402-84d4-ef4df57e9512" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_7cb0ca42-70ea-4291-a4c8-099439edd3db" xlink:to="loc_us-gaap_PensionPlansDefinedBenefitMember_6cfda684-279c-4402-84d4-ef4df57e9512" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_d2885093-cedd-4163-a4bf-d2d6a373a237" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent_7f26e26c-a4c6-4af6-83bb-6fa739b423ed" xlink:href="virc-20231031.xsd#virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:to="loc_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent_7f26e26c-a4c6-4af6-83bb-6fa739b423ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_17045611-2776-408f-b6c9-fdd7e98862ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:to="loc_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_17045611-2776-408f-b6c9-fdd7e98862ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DefinedContributionPlanNumberOfCommonSharesHeld_c9515563-de77-402b-b477-4846d0bff50b" xlink:href="virc-20231031.xsd#virc_DefinedContributionPlanNumberOfCommonSharesHeld"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:to="loc_virc_DefinedContributionPlanNumberOfCommonSharesHeld_c9515563-de77-402b-b477-4846d0bff50b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_6abce086-61a1-4aea-91d6-ea4d4c732a9e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_6402b38b-54cc-43d7-9e07-4f17adbb5ff1" xlink:to="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_6abce086-61a1-4aea-91d6-ea4d4c732a9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/WarrantyDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#WarrantyDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/WarrantyDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_6276e5c4-8198-432e-91a8-a8a2f81de849" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ScheduleOfWarrantyTable_d8d2b023-1fd5-4856-abfd-4beee1442ae2" xlink:href="virc-20231031.xsd#virc_ScheduleOfWarrantyTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_6276e5c4-8198-432e-91a8-a8a2f81de849" xlink:to="loc_virc_ScheduleOfWarrantyTable_d8d2b023-1fd5-4856-abfd-4beee1442ae2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_57272664-5c82-422b-8bba-aab260dde9ec" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_virc_ScheduleOfWarrantyTable_d8d2b023-1fd5-4856-abfd-4beee1442ae2" xlink:to="loc_srt_RangeAxis_57272664-5c82-422b-8bba-aab260dde9ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_41555d2d-eb23-4bd1-86b5-cb8446ac1c7d" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_57272664-5c82-422b-8bba-aab260dde9ec" xlink:to="loc_srt_RangeMember_41555d2d-eb23-4bd1-86b5-cb8446ac1c7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_f6f30374-e84b-4467-95af-c6dc5bde6df7" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_41555d2d-eb23-4bd1-86b5-cb8446ac1c7d" xlink:to="loc_srt_MaximumMember_f6f30374-e84b-4467-95af-c6dc5bde6df7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_WarrantyLineItems_0511856d-3886-4b6e-930b-918eefcecbf7" xlink:href="virc-20231031.xsd#virc_WarrantyLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_virc_ScheduleOfWarrantyTable_d8d2b023-1fd5-4856-abfd-4beee1442ae2" xlink:to="loc_virc_WarrantyLineItems_0511856d-3886-4b6e-930b-918eefcecbf7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ProductWarranty_229977e8-794d-4e8c-9ee6-b858c1162eed" xlink:href="virc-20231031.xsd#virc_ProductWarranty"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_virc_WarrantyLineItems_0511856d-3886-4b6e-930b-918eefcecbf7" xlink:to="loc_virc_ProductWarranty_229977e8-794d-4e8c-9ee6-b858c1162eed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_a25ecc80-b3af-4af2-8b9e-a8401c73631e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_6276e5c4-8198-432e-91a8-a8a2f81de849" xlink:to="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_a25ecc80-b3af-4af2-8b9e-a8401c73631e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrual_4572d8f7-e33d-4363-b4a8-5689549f70da" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_a25ecc80-b3af-4af2-8b9e-a8401c73631e" xlink:to="loc_us-gaap_ProductWarrantyAccrual_4572d8f7-e33d-4363-b4a8-5689549f70da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_c5318581-fef4-4582-9122-b7d1f6cf2d2f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_a25ecc80-b3af-4af2-8b9e-a8401c73631e" xlink:to="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_c5318581-fef4-4582-9122-b7d1f6cf2d2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyExpense_63dc9bb8-4de4-45ad-97ea-ade274677052" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_a25ecc80-b3af-4af2-8b9e-a8401c73631e" xlink:to="loc_us-gaap_ProductWarrantyExpense_63dc9bb8-4de4-45ad-97ea-ade274677052" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrual_0a0d8f61-c740-450b-8f5a-c00369cbb442" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_a25ecc80-b3af-4af2-8b9e-a8401c73631e" xlink:to="loc_us-gaap_ProductWarrantyAccrual_0a0d8f61-c740-450b-8f5a-c00369cbb442" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/ContingenciesDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#ContingenciesDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/ContingenciesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b2a50b84-5ef4-40ad-85f2-a3d5403a7278" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable_cc16c761-a070-4fcf-8057-c60d6fbdb111" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b2a50b84-5ef4-40ad-85f2-a3d5403a7278" xlink:to="loc_us-gaap_LossContingenciesTable_cc16c761-a070-4fcf-8057-c60d6fbdb111" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_ee033868-6b4f-433a-b82a-3bc13f82b9e1" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_cc16c761-a070-4fcf-8057-c60d6fbdb111" xlink:to="loc_srt_RangeAxis_ee033868-6b4f-433a-b82a-3bc13f82b9e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_bb1241f3-f94d-41ce-b1e9-67a784104d51" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_ee033868-6b4f-433a-b82a-3bc13f82b9e1" xlink:to="loc_srt_RangeMember_bb1241f3-f94d-41ce-b1e9-67a784104d51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b68cc0bf-fca9-421d-bd91-df1c9aad9749" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_bb1241f3-f94d-41ce-b1e9-67a784104d51" xlink:to="loc_srt_MaximumMember_b68cc0bf-fca9-421d-bd91-df1c9aad9749" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_76e12784-b7ee-4f04-b8a9-27a13ad6424f" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_cc16c761-a070-4fcf-8057-c60d6fbdb111" xlink:to="loc_srt_ProductOrServiceAxis_76e12784-b7ee-4f04-b8a9-27a13ad6424f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_76e12784-b7ee-4f04-b8a9-27a13ad6424f" xlink:to="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ProductLiabilityMember_d1999aa5-180f-47a7-9446-e32ba1b3f109" xlink:href="virc-20231031.xsd#virc_ProductLiabilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:to="loc_virc_ProductLiabilityMember_d1999aa5-180f-47a7-9446-e32ba1b3f109" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_WorkerscompensationLiabilityInsuranceMember_97d6fef3-f0f9-44ba-8f43-99829217b682" xlink:href="virc-20231031.xsd#virc_WorkerscompensationLiabilityInsuranceMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:to="loc_virc_WorkerscompensationLiabilityInsuranceMember_97d6fef3-f0f9-44ba-8f43-99829217b682" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_GeneralLiabilityLossMember_ae7e0398-92e1-4abc-b059-77cd608e8871" xlink:href="virc-20231031.xsd#virc_GeneralLiabilityLossMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:to="loc_virc_GeneralLiabilityLossMember_ae7e0398-92e1-4abc-b059-77cd608e8871" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_AutomobileLiabilityLossMember_377e0d07-e262-4b07-8fc4-ff4b5ede6f74" xlink:href="virc-20231031.xsd#virc_AutomobileLiabilityLossMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:to="loc_virc_AutomobileLiabilityLossMember_377e0d07-e262-4b07-8fc4-ff4b5ede6f74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LossLiabilityMember_b90955c8-e4f3-40b0-bede-400fe31d7c67" xlink:href="virc-20231031.xsd#virc_LossLiabilityMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_f0875727-13b0-4929-909f-ac4e2c04aabc" xlink:to="loc_virc_LossLiabilityMember_b90955c8-e4f3-40b0-bede-400fe31d7c67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems_bca641af-d8b9-48ad-8286-1f27b433a4bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_cc16c761-a070-4fcf-8057-c60d6fbdb111" xlink:to="loc_us-gaap_LossContingenciesLineItems_bca641af-d8b9-48ad-8286-1f27b433a4bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SelfInsuranceRetention_137d245a-68ed-4d23-bea2-8481017a5899" xlink:href="virc-20231031.xsd#virc_SelfInsuranceRetention"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_bca641af-d8b9-48ad-8286-1f27b433a4bb" xlink:to="loc_virc_SelfInsuranceRetention_137d245a-68ed-4d23-bea2-8481017a5899" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/DeliveryCostsDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#DeliveryCostsDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/DeliveryCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndExpensesAbstract_05155580-6466-4a38-94d6-7e0b0e3cb34f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_ShippingAndClassroomDeliveryCosts_bdbdbf3c-8197-49e4-bf6b-d89815e043a7" xlink:href="virc-20231031.xsd#virc_ShippingAndClassroomDeliveryCosts"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherIncomeAndExpensesAbstract_05155580-6466-4a38-94d6-7e0b0e3cb34f" xlink:to="loc_virc_ShippingAndClassroomDeliveryCosts_bdbdbf3c-8197-49e4-bf6b-d89815e043a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.virco.com/role/SubsequentEventsDetails" xlink:type="simple" xlink:href="virc-20231031.xsd#SubsequentEventsDetails"/>
  <link:presentationLink xlink:role="http://www.virco.com/role/SubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract_30ea93f4-44a1-4e20-8cbb-3b6cf21bba2a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable_18a64e78-315e-4007-b79d-b3ea9028545b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_30ea93f4-44a1-4e20-8cbb-3b6cf21bba2a" xlink:to="loc_us-gaap_SubsequentEventTable_18a64e78-315e-4007-b79d-b3ea9028545b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_c744ed08-e780-4209-8274-6e3f813f39c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_18a64e78-315e-4007-b79d-b3ea9028545b" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_c744ed08-e780-4209-8274-6e3f813f39c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_f00649f0-455c-4775-ae05-06918c87171e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_c744ed08-e780-4209-8274-6e3f813f39c0" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_f00649f0-455c-4775-ae05-06918c87171e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_28160a0d-20a3-44c8-9e03-a5ba576761a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_f00649f0-455c-4775-ae05-06918c87171e" xlink:to="loc_us-gaap_SubsequentEventMember_28160a0d-20a3-44c8-9e03-a5ba576761a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems_9ffd2b87-6090-4c58-add8-d0257f71650b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_18a64e78-315e-4007-b79d-b3ea9028545b" xlink:to="loc_us-gaap_SubsequentEventLineItems_9ffd2b87-6090-4c58-add8-d0257f71650b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DividendsPayableAmountPerShare_ee6b5646-24f5-43c7-b7ab-794215798232" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_9ffd2b87-6090-4c58-add8-d0257f71650b" xlink:to="loc_us-gaap_DividendsPayableAmountPerShare_ee6b5646-24f5-43c7-b7ab-794215798232" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_d29d5559-ad63-4c3d-b9b0-6d0425caf955" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_9ffd2b87-6090-4c58-add8-d0257f71650b" xlink:to="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_d29d5559-ad63-4c3d-b9b0-6d0425caf955" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634188957424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page - shares<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Dec. 04, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Oct. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">1-8777<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">VIRCO MFG. CORPORATION<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">95-1613718<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">2027 Harpers Way<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Torrance<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">90501<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">533-0474<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, $0.01 par value per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">VIRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000751365<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,347,314<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--01-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634186121008">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">$ 4,887<span></span>
</td>
<td class="nump">$ 1,057<span></span>
</td>
<td class="nump">$ 2,175<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Trade accounts receivables, net</a></td>
<td class="nump">33,029<span></span>
</td>
<td class="nump">18,435<span></span>
</td>
<td class="nump">28,028<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Other receivables</a></td>
<td class="nump">27<span></span>
</td>
<td class="nump">68<span></span>
</td>
<td class="nump">102<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesReceivable', window );">Income tax receivable</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">19<span></span>
</td>
<td class="nump">106<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">58,931<span></span>
</td>
<td class="nump">67,406<span></span>
</td>
<td class="nump">57,465<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">1,961<span></span>
</td>
<td class="nump">2,083<span></span>
</td>
<td class="nump">1,671<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">98,835<span></span>
</td>
<td class="nump">89,068<span></span>
</td>
<td class="nump">89,547<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, plant and equipment:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">3,731<span></span>
</td>
<td class="nump">3,731<span></span>
</td>
<td class="nump">3,731<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LandImprovements', window );">Land improvements</a></td>
<td class="nump">694<span></span>
</td>
<td class="nump">686<span></span>
</td>
<td class="nump">686<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings and building improvements</a></td>
<td class="nump">51,498<span></span>
</td>
<td class="nump">51,310<span></span>
</td>
<td class="nump">51,459<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and equipment</a></td>
<td class="nump">116,695<span></span>
</td>
<td class="nump">113,662<span></span>
</td>
<td class="nump">114,762<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseholdImprovementsGross', window );">Leasehold improvements</a></td>
<td class="nump">976<span></span>
</td>
<td class="nump">983<span></span>
</td>
<td class="nump">1,012<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Total property, plant and equipment</a></td>
<td class="nump">173,594<span></span>
</td>
<td class="nump">170,372<span></span>
</td>
<td class="nump">171,650<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less accumulated depreciation and amortization</a></td>
<td class="nump">138,650<span></span>
</td>
<td class="nump">135,810<span></span>
</td>
<td class="nump">136,998<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">34,944<span></span>
</td>
<td class="nump">34,562<span></span>
</td>
<td class="nump">34,652<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">7,156<span></span>
</td>
<td class="nump">10,120<span></span>
</td>
<td class="nump">11,116<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets, net</a></td>
<td class="nump">7,031<span></span>
</td>
<td class="nump">7,800<span></span>
</td>
<td class="nump">160<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets, net</a></td>
<td class="nump">9,073<span></span>
</td>
<td class="nump">8,576<span></span>
</td>
<td class="nump">8,245<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">157,039<span></span>
</td>
<td class="nump">150,126<span></span>
</td>
<td class="nump">143,720<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">14,351<span></span>
</td>
<td class="nump">19,448<span></span>
</td>
<td class="nump">18,926<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued compensation and employee benefits</a></td>
<td class="nump">11,102<span></span>
</td>
<td class="nump">9,554<span></span>
</td>
<td class="nump">9,084<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrentAndNoncurrent', window );">Income tax payable</a></td>
<td class="nump">3,130<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Current portion of long-term debt</a></td>
<td class="nump">245<span></span>
</td>
<td class="nump">7,360<span></span>
</td>
<td class="nump">2,457<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current portion operating lease liability</a></td>
<td class="nump">5,465<span></span>
</td>
<td class="nump">5,082<span></span>
</td>
<td class="nump">4,985<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other accrued liabilities</a></td>
<td class="nump">7,339<span></span>
</td>
<td class="nump">7,081<span></span>
</td>
<td class="nump">7,767<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">41,632<span></span>
</td>
<td class="nump">48,525<span></span>
</td>
<td class="nump">43,219<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrentAbstract', window );"><strong>Non-current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SelfInsuranceReserveNoncurrent', window );">Accrued self-insurance retention</a></td>
<td class="nump">748<span></span>
</td>
<td class="nump">1,050<span></span>
</td>
<td class="nump">1,454<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent', window );">Accrued pension expenses</a></td>
<td class="nump">9,334<span></span>
</td>
<td class="nump">10,676<span></span>
</td>
<td class="nump">11,776<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt, less current portion</a></td>
<td class="nump">7,946<span></span>
</td>
<td class="nump">14,384<span></span>
</td>
<td class="nump">14,444<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liability, less current portion</a></td>
<td class="nump">2,933<span></span>
</td>
<td class="nump">6,796<span></span>
</td>
<td class="nump">8,028<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="nump">657<span></span>
</td>
<td class="nump">634<span></span>
</td>
<td class="nump">771<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total non-current liabilities</a></td>
<td class="nump">21,618<span></span>
</td>
<td class="nump">33,540<span></span>
</td>
<td class="nump">36,473<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Notes 6, 7 and 13)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract', window );"><strong>Preferred stock:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Authorized 3,000,000 shares, $0.01 par value; none issued or outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract', window );"><strong>Common stock:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Authorized 25,000,000 shares, $0.01 par value; issued and outstanding 16,347,314 shares at 10/31/2023 and 16,210,985 at 1/31/2023 and 10/31/2022</a></td>
<td class="nump">164<span></span>
</td>
<td class="nump">162<span></span>
</td>
<td class="nump">162<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">121,201<span></span>
</td>
<td class="nump">120,890<span></span>
</td>
<td class="nump">120,787<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(26,379)<span></span>
</td>
<td class="num">(50,631)<span></span>
</td>
<td class="num">(54,707)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(1,197)<span></span>
</td>
<td class="num">(2,360)<span></span>
</td>
<td class="num">(2,214)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">93,789<span></span>
</td>
<td class="nump">68,061<span></span>
</td>
<td class="nump">64,028<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 157,039<span></span>
</td>
<td class="nump">$ 150,126<span></span>
</td>
<td class="nump">$ 143,720<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common Stock, Shares, Issued</a></td>
<td class="nump">16,347,314<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (shares)</a></td>
<td class="nump">16,347,314<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631418-115840<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631419-115840<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.5(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.10)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Land">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Land</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LandImprovements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation and depletion of additions or improvements to real estate held for productive use. Examples include, but are not limited to, walkways, driveways, fences, and parking lots.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LandImprovements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseholdImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseholdImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SelfInsuranceReserveNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of accrued known and estimated losses incurred as of the balance sheet date for which no insurance coverage exists, and for which a claim has been made or is probable of being asserted, typically arising from workmen's compensation-type of incidents and personal injury to nonemployees from accidents on the entity's property that are expected to be paid after one year (or the normal operating cycle, if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SelfInsuranceReserveNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Pension and Other Postretirement Defined Benefit Plans, Including Life Insurance, Liabilities, Noncurrent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634186029360">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (shares)</a></td>
<td class="nump">3,000,000<span></span>
</td>
<td class="nump">3,000,000<span></span>
</td>
<td class="nump">3,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (usd per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued (shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding (shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (shares)</a></td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (usd per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (shares)</a></td>
<td class="nump">16,347,314<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (shares)</a></td>
<td class="nump">16,347,314<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634185874896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Statements of Income - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 84,252<span></span>
</td>
<td class="nump">$ 77,395<span></span>
</td>
<td class="nump">$ 226,516<span></span>
</td>
<td class="nump">$ 192,276<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Costs of goods sold</a></td>
<td class="nump">46,041<span></span>
</td>
<td class="nump">46,618<span></span>
</td>
<td class="nump">126,525<span></span>
</td>
<td class="nump">119,947<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">38,211<span></span>
</td>
<td class="nump">30,777<span></span>
</td>
<td class="nump">99,991<span></span>
</td>
<td class="nump">72,329<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">23,505<span></span>
</td>
<td class="nump">21,977<span></span>
</td>
<td class="nump">65,343<span></span>
</td>
<td class="nump">57,099<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">14,706<span></span>
</td>
<td class="nump">8,800<span></span>
</td>
<td class="nump">34,648<span></span>
</td>
<td class="nump">15,230<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrealizedGainLossOnInvestments', window );">Unrealized (gain) loss on investment in trust account</a></td>
<td class="nump">176<span></span>
</td>
<td class="num">(220)<span></span>
</td>
<td class="num">(448)<span></span>
</td>
<td class="nump">85<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent', window );">Pension expense</a></td>
<td class="nump">301<span></span>
</td>
<td class="nump">259<span></span>
</td>
<td class="nump">623<span></span>
</td>
<td class="nump">650<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="nump">765<span></span>
</td>
<td class="nump">567<span></span>
</td>
<td class="nump">2,560<span></span>
</td>
<td class="nump">1,692<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">13,464<span></span>
</td>
<td class="nump">8,194<span></span>
</td>
<td class="nump">31,913<span></span>
</td>
<td class="nump">12,803<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">3,304<span></span>
</td>
<td class="nump">319<span></span>
</td>
<td class="nump">7,661<span></span>
</td>
<td class="nump">332<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 10,160<span></span>
</td>
<td class="nump">$ 7,875<span></span>
</td>
<td class="nump">$ 24,252<span></span>
</td>
<td class="nump">$ 12,471<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (usd per share)</a></td>
<td class="nump">$ 0.62<span></span>
</td>
<td class="nump">$ 0.49<span></span>
</td>
<td class="nump">$ 1.49<span></span>
</td>
<td class="nump">$ 0.77<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (usd per share)</a></td>
<td class="nump">$ 0.62<span></span>
</td>
<td class="nump">$ 0.48<span></span>
</td>
<td class="nump">$ 1.48<span></span>
</td>
<td class="nump">$ 0.77<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average shares of common stock outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (shares)</a></td>
<td class="nump">16,347<span></span>
</td>
<td class="nump">16,211<span></span>
</td>
<td class="nump">16,277<span></span>
</td>
<td class="nump">16,118<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (shares)</a></td>
<td class="nump">16,428<span></span>
</td>
<td class="nump">16,249<span></span>
</td>
<td class="nump">16,334<span></span>
</td>
<td class="nump">16,136<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for net periodic benefit cost components, excluding service cost component, of defined benefit plan. Amount includes, but is not limited to, interest cost, expected (return) loss on plan asset, amortization of prior service cost (credit), amortization of (gain) loss, amortization of transition (asset) obligation, settlement (gain) loss, curtailment (gain) loss and certain termination benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123453770&amp;loc=SL108413299-114919<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrealizedGainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrealizedGainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634185987648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 10,160<span></span>
</td>
<td class="nump">$ 7,875<span></span>
</td>
<td class="nump">$ 24,252<span></span>
</td>
<td class="nump">$ 12,471<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension adjustments, net of tax effect</a></td>
<td class="nump">1,163<span></span>
</td>
<td class="nump">3,545<span></span>
</td>
<td class="nump">1,163<span></span>
</td>
<td class="nump">3,815<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Net comprehensive income</a></td>
<td class="nump">$ 11,323<span></span>
</td>
<td class="nump">$ 11,420<span></span>
</td>
<td class="nump">$ 25,415<span></span>
</td>
<td class="nump">$ 16,286<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (i-k)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634194999808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss) (Parentheticals) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax', window );">Pension adjustment, tax expense</a></td>
<td class="nump">$ 406<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 406<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax (expense) benefit for reclassification adjustment from accumulated other comprehensive (income) loss of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e640-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634185896336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Unaudited Condensed Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 24,252<span></span>
</td>
<td class="nump">$ 12,471<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">3,763<span></span>
</td>
<td class="nump">3,390<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_NoncashRentExpense', window );">Non-cash lease benefits</a></td>
<td class="num">(517)<span></span>
</td>
<td class="num">(404)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for doubtful accounts</a></td>
<td class="nump">45<span></span>
</td>
<td class="nump">60<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of debt issuance costs</a></td>
<td class="nump">85<span></span>
</td>
<td class="nump">96<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred income taxes</a></td>
<td class="nump">363<span></span>
</td>
<td class="nump">239<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">423<span></span>
</td>
<td class="nump">509<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1', window );">Defined pension plan settlement</a></td>
<td class="nump">372<span></span>
</td>
<td class="nump">64<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax', window );">Amortization of net actuarial loss for pension plans</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">405<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrealizedGainLossOnInvestments', window );">Non-cash unrealized (gain) loss on investment</a></td>
<td class="num">(448)<span></span>
</td>
<td class="nump">85<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SurrenderOfLifeInsurancePolicies', window );">Surrender of life insurance policies</a></td>
<td class="num">(95)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Trade accounts receivable</a></td>
<td class="num">(14,639)<span></span>
</td>
<td class="num">(10,319)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherReceivables', window );">Other receivables</a></td>
<td class="nump">41<span></span>
</td>
<td class="nump">16<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">8,475<span></span>
</td>
<td class="num">(10,092)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInIncomeTaxes', window );">Income taxes</a></td>
<td class="nump">3,167<span></span>
</td>
<td class="nump">51<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">133<span></span>
</td>
<td class="nump">306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Accounts payable and accrued liabilities</a></td>
<td class="num">(3,150)<span></span>
</td>
<td class="nump">4,578<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">22,273<span></span>
</td>
<td class="nump">1,455<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="num">(4,605)<span></span>
</td>
<td class="num">(2,614)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireMarketableSecurities', window );">Purchases of marketable securities in trust accounts</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(7,280)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sale of marketable securities in trust accounts</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">4,536<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromLifeInsurancePolicies', window );">Proceeds from surrendering life insurance policies</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,744<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(4,605)<span></span>
</td>
<td class="num">(2,614)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt', window );">Borrowing from long-term debt</a></td>
<td class="nump">36,906<span></span>
</td>
<td class="nump">32,947<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermDebt', window );">Repayment of long-term debt</a></td>
<td class="num">(50,459)<span></span>
</td>
<td class="num">(30,559)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfFinancingCosts', window );">Payment of deferred financing costs</a></td>
<td class="num">(175)<span></span>
</td>
<td class="num">(200)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withholding payments on share-based compensation</a></td>
<td class="num">(110)<span></span>
</td>
<td class="num">(213)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) provided by financing activities</a></td>
<td class="num">(13,838)<span></span>
</td>
<td class="nump">1,975<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase in cash</a></td>
<td class="nump">3,830<span></span>
</td>
<td class="nump">816<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash at beginning of period</a></td>
<td class="nump">1,057<span></span>
</td>
<td class="nump">1,359<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash at end of period</a></td>
<td class="nump">4,887<span></span>
</td>
<td class="nump">2,175<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense', window );">Property, Plant And Equipment Included in AP And Accrued Expense</a></td>
<td class="nump">178<span></span>
</td>
<td class="nump">291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest Paid, Excluding Capitalized Interest, Operating Activities</a></td>
<td class="nump">2,223<span></span>
</td>
<td class="nump">1,310<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income Taxes Paid, Net</a></td>
<td class="nump">$ 4,156<span></span>
</td>
<td class="nump">$ 65<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) recognized in net periodic benefit (cost) credit from irrevocable action relieving primary responsibility for benefit obligation and eliminating risk related to obligation and assets used to effect settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(7)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI https://asc.fasb.org/extlink&amp;oid=123453770&amp;loc=SL108413299-114919<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(7)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes, and in deferred and other tax liabilities and assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in receivables classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of reclassification adjustment from accumulated other comprehensive income (loss) for gain (loss) of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL34724391-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e689-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for loan and debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for purchase of marketable security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLifeInsurancePolicies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow for proceeds from settlement of corporate-owned life insurance policy, classified as investing activities. Includes, but is not limited to, bank-owned life insurance policy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21C<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=SL94080552-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLifeInsurancePolicies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrealizedGainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrealizedGainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_NoncashRentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Non-cash Rent Expense</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_NoncashRentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Property, Plant And Equipment Included in AP And Accrued Expense</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_SurrenderOfLifeInsurancePolicies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Surrender of Life Insurance Policies</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_SurrenderOfLifeInsurancePolicies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634118662800">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Unaudited Consolidated Statements of Changes in Stockholders' Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Accumulated Deficit</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Beginning balance (shares) at Jan. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,102,023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Jan. 31, 2022</a></td>
<td class="nump">$ 47,446<span></span>
</td>
<td class="nump">$ 161<span></span>
</td>
<td class="nump">$ 120,492<span></span>
</td>
<td class="num">$ (67,178)<span></span>
</td>
<td class="num">$ (6,029)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">12,471<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,471<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension adjustments, net of tax effect</a></td>
<td class="nump">3,815<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,815<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SharesVestedAndOtherDuringPeriodShares', window );">Shares vested and others (shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">108,962<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SharesVestedAndOtherDuringPeriodValue', window );">Shares vested and others</a></td>
<td class="num">(213)<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="num">(214)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation expense</a></td>
<td class="nump">$ 509<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">509<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending balance (shares) at Oct. 31, 2022</a></td>
<td class="nump">16,210,985<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Oct. 31, 2022</a></td>
<td class="nump">$ 64,028<span></span>
</td>
<td class="nump">$ 162<span></span>
</td>
<td class="nump">120,787<span></span>
</td>
<td class="num">(54,707)<span></span>
</td>
<td class="num">(2,214)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Beginning balance (shares) at Jul. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Jul. 31, 2022</a></td>
<td class="nump">52,505<span></span>
</td>
<td class="nump">$ 162<span></span>
</td>
<td class="nump">120,684<span></span>
</td>
<td class="num">(62,582)<span></span>
</td>
<td class="num">(5,759)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">7,875<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,875<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension adjustments, net of tax effect</a></td>
<td class="nump">3,545<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,545<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SharesVestedAndOtherDuringPeriodShares', window );">Shares vested and others (shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SharesVestedAndOtherDuringPeriodValue', window );">Shares vested and others</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation expense</a></td>
<td class="nump">$ 103<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">103<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending balance (shares) at Oct. 31, 2022</a></td>
<td class="nump">16,210,985<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Oct. 31, 2022</a></td>
<td class="nump">$ 64,028<span></span>
</td>
<td class="nump">$ 162<span></span>
</td>
<td class="nump">120,787<span></span>
</td>
<td class="num">(54,707)<span></span>
</td>
<td class="num">(2,214)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Beginning balance (shares) at Jan. 31, 2023</a></td>
<td class="nump">16,210,985<span></span>
</td>
<td class="nump">16,210,985<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Jan. 31, 2023</a></td>
<td class="nump">$ 68,061<span></span>
</td>
<td class="nump">$ 162<span></span>
</td>
<td class="nump">120,890<span></span>
</td>
<td class="num">(50,631)<span></span>
</td>
<td class="num">(2,360)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">24,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension adjustments, net of tax effect</a></td>
<td class="nump">1,163<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,163<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SharesVestedAndOtherDuringPeriodShares', window );">Shares vested and others (shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">136,329<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SharesVestedAndOtherDuringPeriodValue', window );">Shares vested and others</a></td>
<td class="num">(110)<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="num">(112)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation expense</a></td>
<td class="nump">$ 423<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">423<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending balance (shares) at Oct. 31, 2023</a></td>
<td class="nump">16,347,314<span></span>
</td>
<td class="nump">16,347,314<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Oct. 31, 2023</a></td>
<td class="nump">$ 93,789<span></span>
</td>
<td class="nump">$ 164<span></span>
</td>
<td class="nump">121,201<span></span>
</td>
<td class="num">(26,379)<span></span>
</td>
<td class="num">(1,197)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Beginning balance (shares) at Jul. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,347,314<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Jul. 31, 2023</a></td>
<td class="nump">82,295<span></span>
</td>
<td class="nump">$ 164<span></span>
</td>
<td class="nump">121,030<span></span>
</td>
<td class="num">(36,539)<span></span>
</td>
<td class="num">(2,360)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">10,160<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,160<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension adjustments, net of tax effect</a></td>
<td class="nump">1,163<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,163<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SharesVestedAndOtherDuringPeriodShares', window );">Shares vested and others (shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SharesVestedAndOtherDuringPeriodValue', window );">Shares vested and others</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation expense</a></td>
<td class="nump">$ 171<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending balance (shares) at Oct. 31, 2023</a></td>
<td class="nump">16,347,314<span></span>
</td>
<td class="nump">16,347,314<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Oct. 31, 2023</a></td>
<td class="nump">$ 93,789<span></span>
</td>
<td class="nump">$ 164<span></span>
</td>
<td class="nump">$ 121,201<span></span>
</td>
<td class="num">$ (26,379)<span></span>
</td>
<td class="num">$ (1,197)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11178-113907<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126961718&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (i-k)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_SharesVestedAndOtherDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Shares Vested and Other During Period, Shares</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_SharesVestedAndOtherDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_SharesVestedAndOtherDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Shares Vested and Other During Period, Value</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_SharesVestedAndOtherDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192181856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">Basis of Presentation</a></td>
<td class="text">Basis of Presentation<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States (U.S. GAAP) for interim financial information and pursuant to the rules and regulations of the Securities and Exchange Commission. Accordingly, they do not include all of the information and notes required by generally accepted accounting principles for complete financial statements and are presented in accordance with the requirements of Form 10-Q and Rule 10-01 of Regulation S-X. These unaudited condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and notes thereto included in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended January&#160;31, 2023 (&#8220;Form&#160;10-K&#8221;).&#160; In the opinion of management, all adjustments considered necessary for a fair presentation have been included. Operating results for the three months and nine months ended October&#160;31, 2023 are not necessarily indicative of the results that may be expected for the fiscal year ending January&#160;31, 2024.  The balance sheet at January&#160;31, 2023 has been derived from the audited consolidated financial statements at that date, but does not include all of the information and notes required by accounting principles generally accepted in the United States for complete financial statements. All references to the &#8220;Company&#8221; refer to Virco Mfg. Corporation and its subsidiaries.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -URI https://asc.fasb.org/topic&amp;trid=2122149<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI https://asc.fasb.org/topic&amp;trid=2197479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634222510528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Seasonality and Management Use of Estimates<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SeasonalityAbstract', window );"><strong>Seasonality [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SeasonalityTextBlock', window );">Seasonality and Management Use of Estimates</a></td>
<td class="text">Seasonality and Management Use of Estimates<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The market for educational furniture is marked by extreme seasonality, with approximately 50% of the Company&#8217;s total sales typically occurring from June to August each year, the Company&#8217;s peak season. Hence, the Company typically builds and carries significant amounts of inventory during and in anticipation of this peak summer season to facilitate the rapid delivery requirements of customers in the educational market. This requires a large up-front investment in inventory, labor, storage and related costs as inventory is built in anticipation of peak sales during the summer months. As the capital required for this build-up generally exceeds cash available from operations, the Company has generally relied on third-party bank financing to meet cash flow requirements during the build-up period immediately preceding the peak season. In addition, the Company typically is faced with an overall higher accounts receivable balance during the peak season. This occurs for two primary reasons. First, accounts receivable balances typically increase during the peak season as shipments of products increase. Second, many customers during this period are educational institutions and government entities, which tend to pay accounts receivable slower than commercial customers.  </span></div>The Company&#8217;s working capital requirements during and in anticipation of the peak summer season require management to make estimates and judgments that affect assets, liabilities, revenues and expenses, and related contingent assets and liabilities. On an ongoing basis, management evaluates its estimates, including those related to market demand, labor costs and stocking inventory.  Significant estimates made by management include, but are not limited to, valuation of inventory; deferred tax assets and liabilities; useful lives of property, plant and equipment; liabilities under pension, warranty and self-insurance; and the accounts receivable allowance for doubtful accounts.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_SeasonalityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Seasonality.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_SeasonalityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_SeasonalityTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Seasonality.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_SeasonalityTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192073760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>New Accounting Pronouncements<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract', window );"><strong>Accounting Standards Update and Change in Accounting Principle [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">New Accounting Pronouncements</a></td>
<td class="text"><div><span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates all Accounting Standards Updates ("ASUs") issued by the Financial Accounting Standards Board ("FASB") for consideration of their applicability to our condensed consolidated financial statements. We have assessed all ASUs issued but not yet adopted and concluded that those not disclosed are not</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> relevant </span><span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> the Company or are not expected to have a material impact.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -URI https://asc.fasb.org/topic&amp;trid=2122394<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126986314&amp;loc=SL124402458-218513<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126986314&amp;loc=SL124402458-218513<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 11.M.Q2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038215&amp;loc=d3e31137-122693<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL122150809-237846<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section S99<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=122038215&amp;loc=SL108384541-122693<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128293352&amp;loc=SL126838806-209984<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128293352&amp;loc=SL126838806-209984<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192078240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue Recognition</a></td>
<td class="text">Revenue Recognition<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company manufactures, markets and distributes a wide variety of school and office furniture to wholesalers, distributors, educational institutions and governmental entities. Revenue is recorded for promised goods or services when control is transferred to customers in an amount that reflects the consideration to which the entity expects to be entitled to in exchange for those goods or services.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's sales generally involve a single performance obligation to deliver goods pursuant to customer purchase orders.&#160; Prices for our products are based on published price lists and customer agreements. The Company has determined that the performance obligations are satisfied at a point in time when the Company completes delivery per the customer contract. The majority of sales are free on board ("FOB") destination where the destination is specified per the customer contract and may </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">include delivering the furniture into the classroom, school site or warehouse. Sales of furniture that are sold FOB factory are typically made to resellers of our product who in turn provide logistics to the ultimate customer. Once a product has been delivered per the shipping terms, the customer is able to direct the use of, and obtain substantially all of the remaining benefits from the asset. The Company considers control to have transferred upon shipment or delivery in accordance with shipping terms because the Company has a present right to payment at that time, the customer has legal title to the asset, the Company has transferred physical possession of the asset, and the customer has significant risks and rewards of ownership of the asset.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales are recorded net of discounts, sales incentives and rebates, sales taxes and estimated returns and allowances.  The Company offers sales incentives and discounts through various regional and national programs to our customers. These programs include product rebates, product returns allowances and trade promotions. Variable consideration for these programs is estimated in the transaction price at contract inception based on current sales levels and historical experience using the expected value method, subject to constraint.</span></div><div><span><br/></span></div><div><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company generates revenue primarily by manufacturing and distributing products through resellers and direct-to-customers. Control transfers to both resellers and direct customers at a point in time when the delivery process is complete as determined by the corresponding shipping terms. Therefore, we do not consider them to be meaningfully different revenue streams given similarities in the nature of the products, performance obligation and distribution processes. Sales are predominately in the United States and to a similar class of customer. We do not manage or evaluate the business based on product line or any other discernable category.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130550-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130558-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634191963680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text">Inventories<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory is valued at the lower of cost or net realizable value (determined on a first-in, first-out basis) and includes material, labor, and factory overhead.  The Company records valuation adjustments for the excess cost of the inventory over its estimated net realizable value.  Valuation adjustments for slow-moving and obsolete inventory are calculated using an estimated percentage applied to inventories based on a physical inspection of the product in connection with a physical inventory, a review of slow-moving products and component stage, inventory category, historical and forecasted consumption of sales, and consideration of active marketing programs.  The market for education furniture is traditionally driven by value, not style, and the Company has not typically incurred material obsolescence expenses.  If market conditions are less favorable than those anticipated by management, additional valuation adjustments may be required.  The Company records the cost of excess capacity as a period expense, not as a component of capitalized inventory valuation.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a breakdown of the Company&#8217;s inventories as of October&#160;31, 2023, January&#160;31, 2023 and October&#160;31, 2022:</span></div><div style="margin-top:14pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"><tr><td style="width:1.0%"></td><td style="width:51.429%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.780%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.841%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.780%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.841%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.785%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1/31/2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;Finished goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,587&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,740&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,173&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;Work in process</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,270&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,303&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,829&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,074&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,363&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,463&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total inventories</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,931&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,406&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,465&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192038448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">Leases<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has operating leases on real property, equipment, and automobiles, expiring at various dates through 2026.  The Company determines if an arrangement is a lease at inception and assesses classification of the lease at commencement. All of the Company&#8217;s leases are classified as operating leases.  The Company uses the implicit rate when readily determinable, or the incremental borrowing rate.  Our incremental borrowing rate is estimated to approximate the interest rate on a collateralized basis with similar terms and payments using Company specific credit spreads. The Company&#8217;s lease terms include options to extend or terminate the lease only when it is reasonably certain that we will exercise that option. Lease expense for our operating leases is recognized on a straight-line basis over the lease term.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has an operating lease for its corporate office and manufacturing and distribution facility located in Torrance, California, currently with a remaining lease term through April 2025. The Company's lease terms include options to extend or terminate the lease only when it is reasonably certain that we exercise that option.  The Company leases equipment under a&#160;5-</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">year operating lease arrangement. The Company has the option of buying the assets at the end of the lease period at a price that does not result in the Company being reasonably certain of exercising the option. In addition, the Company leases trucks and automobiles under operating leases that include certain fleet management and maintenance services. Certain of the leases contain renewal or purchase options and require payment for property taxes and insurance. The Company records lease expense on a straight-line basis based on the contractual lease payments. The Company recognizes the present value of the future lease commitments as an operating lease liability, and a corresponding right-of-use asset (&#8220;ROU asset&#8221;), net of tenant allowances.  Tenant improvements and related tenant allowances are recorded as a reduction to the ROU asset.  The Company elected to account for leases with an original term of 12 months or less that do not contain a purchase option as short-term leases. Additionally, certain of the leases provide for variable payment for property taxes, insurance, and common area maintenance payments, among others. The Company recognizes variable lease expenses for these leases in the period incurred. The Company's lease agreements do not contain any material residual value guarantees or material restrictive covenants.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The quantitative information regarding our leases is as follows:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:41.778%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.556%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.556%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.827%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.556%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.559%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands, except lease term and discount rate)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,278&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,288&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,828&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,903&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">113&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">307&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">289&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sublease income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(30)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(30)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">673&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">547&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,639</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,407</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,778</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,709</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other operating leases information:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid for amounts included in the measurement of lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,345&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,306&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets obtained in exchange for new lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">364&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">469&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.5</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.4</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average discount rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.36&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.34&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:5pt;text-align:center"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Minimum future lease payments for operating leases in effect as of&#160;October&#160;31, 2023, are as follows:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.614%"><tr><td style="width:1.0%"></td><td style="width:79.481%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.319%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Lease</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For the year ending January 31, </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remaining of 2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,447&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,825&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,564&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Remaining balance of lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,844</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,465&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,933&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,398</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Difference between undiscounted cash flows and discounted cash flows</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">446</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634191978768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Debt</a></td>
<td class="text">Debt<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding balances for the Company&#8217;s long-term debt were as follows:</span></div><div style="margin-bottom:6pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"><tr><td style="width:1.0%"></td><td style="width:51.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.892%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.849%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.892%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.849%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.895%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-bottom:6pt;margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revolving credit line</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,747&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,122&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,221&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,444&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,622&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,680&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total debt</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,191&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,744&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,901&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less current portion</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">245&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,360&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,457&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current portion</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,946&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,384&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,444&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company and Virco Inc., its wholly-owned subsidiary (the &#8220;Borrowers&#8221;) has a Revolving Credit and Security Agreement (the &#8220;Credit Agreement&#8221;) with PNC Bank, National Association, as administrative agent and lender (&#8220;PNC&#8221;).  The Credit Agreement was amended numerous times since its origination in December 2011.  On September 28, 2021, the Borrowers entered into an Amended and Restated Revolving Credit and Security Agreement (the &#8220;Restated Credit Agreement&#8221;) with PNC Bank, which amended and restated the prior Credit Agreement and effectively incorporated all of the prior amendments into an amended and restated form of agreement. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Restated Credit Agreement permits the Company to issue dividends or make payments with respect to the Company&#8217;s capital stock in an aggregate amount up to $3.0 million during any fiscal year, provided that no default shall have occurred or is continuing or would result from any such payment, and the Company must demonstrate pro forma compliance with a 12-month trailing fixed charge coverage ratio of not less than 1.20:1.00 as of the fiscal quarter immediately preceding the date of any such dividend or payment.  The Restated Credit Agreement also requires the Company to maintain a minimum fixed charge coverage ratio, and contains numerous other covenants that limit under certain circumstances the ability of the Borrowers and their subsidiaries to, among other things, merge with or acquire other entities, incur new liens, incur additional indebtedness, sell assets outside of the ordinary course of business, enter into transactions with affiliates, or substantially change the general nature of the business of the Borrowers.  In connection with the Restated Credit Agreement, the Company also agreed to pay to PNC Bank a non-refundable fee of $50,000.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to the financial covenants, the Restated Credit Agreement provides for customary events of default, subject to certain cure periods and other limitations.  Substantially all of the Borrowers' accounts receivable are automatically and promptly swept to repay amounts outstanding under the Restated Credit Agreement upon receipt by the Borrowers. Due to this automatic liquidating nature of the Restated Credit Agreement, if the Borrowers breach any covenant, violate any representation or warranty or suffer a deterioration in their ability to borrow pursuant to the borrowing base calculation, the Borrowers may not have access to cash liquidity unless provided by PNC at its discretion. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The other material terms of the Restated Credit Agreement are substantially the same as those of the original Credit Agreement, consisting of (i) a revolving line of credit with a Maximum Revolving Advance Amount of  $65.0 million that is subject to a borrowing base limitation and generally provides for advances of up to 85% of eligible accounts receivable, plus a percentage equal to the lesser of 60% of the value of eligible inventory or 85% of the liquidation value of eligible inventory, plus $15.0 million from January through July of each year, minus undrawn amounts of letters of credit and reserves and (ii) an equipment loan of $2.0&#160;million.  The Restated Credit Agreement is secured by substantially all of the Borrowers&#8217; personal property and certain of the Borrowers&#8217; real property. The Restated Credit Agreement is subject to certain prepayment penalties upon early termination of the Restated Credit Agreement. Prior to the maturity date, principal amounts outstanding under the Restated Credit Agreement may be repaid and reborrowed at the option of the Borrowers without premium or penalty, subject to borrowing base limitations, seasonal adjustments and certain other conditions, including reduced borrowings under the revolving line to less than or equal $10.0 million for a period of 30 consecutive days during the fourth quarter of each fiscal year. The Restated Credit Agreement also contains certain financial covenants, including covenants requiring a minimum fixed charge coverage ratio and limits on capital expenditures. The Company was in compliance with its debt covenants as of October&#160;31, 2023.</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's revolving line of credit with PNC is structured to provide seasonal credit availability during the Company's peak summer season. Approximately $23.1 million was available for borrowing as of October&#160;31, 2023.  The interest rate for outstanding loan balances during the quarter ended October&#160;31, 2023 was 10.00%. The Company also incurs a fee on the unused portion of the revolving line of credit at a rate of 0.375%. </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to the outstanding debt balance of $3.7 million on the Company's revolving credit line, the Company also carries a mortgage on a manufacturing building in Conway Arkansas. The original note was dated August 2017 for $5.8&#160;million, at a fixed rate of 4% per year and 20 year term.  The outstanding amount under this note was $4.4 million as of October&#160;31, 2023.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 19, 2023, the Company entered into Amendment No. 3 to Amended and Restated Revolving Credit and Security Agreement (&#8220;Amendment No. 3&#8221;) with PNC, with an effective date of May 5, 2023. Amendment No. 3 amended the Restated Credit Agreement and the secured revolving line of credit provided to the Company under the revolving credit facility to reflect the following material changes:</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">i.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:12.73pt">Maximum size of the PNC line of credit has been increased to $72.5&#160;million during the months of June through August of 2023, to provide additional availability for the Company&#8217;s forecast through the 2023 peak borrowing period;</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ii.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.96pt">Increase in the total inventory sublimit under the Credit Agreement to $35.0&#160;million and increase in the Assemble-to-ship (ATS) inventory sublimit to $15.0&#160;million during the months of May through August of 2023; </span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">iii.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:7.19pt">The Company agreed to pay an amendment fee of $50,000, which is 0.67% on the incremental line increase of $7.5&#160;million; and</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">iv.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:7.73pt">Increase in the Applicable Margin (as defined in the Credit Agreement) of 25 basis points.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management believes that the carrying value of debt approximated fair value at October&#160;31, 2023, as all of the long-term debt bears interest at variable rates based on prevailing market conditions ,except mortgage on a manufacturing building in Conway Arkansas at a fixed rate of 4% per year.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI https://asc.fasb.org/topic&amp;trid=2208564<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192022080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">Income Taxes<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In assessing the realizability of deferred tax assets, the Company considers whether it is more likely than not that some portion or all of its deferred tax assets will not be realized.  The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income or reversal of deferred tax liabilities during the periods in which those temporary differences become deductible. As a part of this evaluation, the Company assesses all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, the availability of tax carry backs, tax-planning strategies, and results of recent operations, to determine whether sufficient future taxable income will be generated to realize existing deferred tax assets.  Valuation allowances of $255,000, $864,000 and $8,893,000 as of October&#160;31, 2023, January&#160;31, 2023 and October&#160;31, 2022, respectively, are needed for federal deferred tax assets and certain state net operating loss carryforwards to reduce the carrying amount of deferred tax assets to an amount that is more likely than not to be realized.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended October&#160;31, 2023 and 2022, the effective income tax rates were 24.5% and 3.9%, respectively.  For the nine months ended October&#160;31, 2023 and 2022, the effective income tax rates were 24.0% and 2.6%, respectively.  The change in effective tax rates for the three and nine months ended October&#160;31, 2023 was primarily due to the change in forecasted mix of income before federal and state income taxes and estimated permanent differences.  The lower effective tax rate for the three and nine months ended October&#160;31, 2022 was primarily due to the recording of a valuation allowance needed for federal deferred tax assets and certain state net operating loss carryforwards. </span></div>The January 31, 2018 and subsequent fiscal years remain open for examination by the IRS and state tax authorities.  The Company is not currently under any state examination.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634118530032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net loss per Share<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Net income per Share</a></td>
<td class="text">Net Income per Share<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted net income per share:</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:47.726%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.826%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.072%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands, except per share data)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,160&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,875&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,252&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,471&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares of common stock outstanding - basic</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,347&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,211&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,277&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dilutive effect of common stock equivalents from equity incentive plans </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares of common stock outstanding - diluted</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,428&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,249&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,334&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,136&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per share - basic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.62&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.49&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.49&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per share - diluted</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.62&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.48&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.48&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.77&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI https://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192140512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock-Based Compensation</a></td>
<td class="text">Stock-Based Compensation <div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock Incentive Plan</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the Company's 2019 Omnibus Equity Incentive Plan (the &#8220;2019 Plan&#8221;), the Company may grant an aggregate of up to 1.0 million shares to its employees and non-employee directors in the form of restricted stock units, restricted stock awards and stock options.  Restricted stock units and awards granted under the 2019 Plan are expensed ratably over the vesting period of the awards. The Company determines the fair value of its restricted stock units or awards and related compensation expense as the difference between the market value of the units or awards on the date of grant less the exercise price of the units or awards granted.  There were no awards grant and vested during the three-month period ended October 31, 2023. During the nine-month period ended October&#160;31, 2023, the Company granted 70,510 awards, vested 93,600 shares according to their terms and forfeited 0 shares under the 2019 Plan.  As of October&#160;31, 2023, there were approximately 537,925 shares available for future issuance under the 2019 Plan. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the stock-based compensation expense related to restricted stock awards recognized in the Company's statements of operations for the three and nine months ended October&#160;31, 2023 and 2022:</span></div><div><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"><tr><td style="width:1.0%"></td><td style="width:43.428%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.559%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.863%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.559%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.128%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of goods sold</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">339&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">389&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stock-based compensation expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">103&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">423&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">509&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div>As of October&#160;31, 2023, there was $400,000 of unrecognized compensation expense related to unvested restricted stock units and/or awards, which is expected to be recognized over a weighted average period of approximately 1 year.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192051968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement Benefits [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PostemploymentBenefitsDisclosureTextBlock', window );">Retirement Plans</a></td>
<td class="text">Retirement Plans<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company and its subsidiaries cover certain employees under a noncontributory defined benefit retirement plan, entitled the Virco Employees&#8217; Retirement Plan (the &#8220;Pension Plan&#8221;). As more fully described in the Annual Report on Form 10-K, benefit accruals under the Employees Retirement Plan were frozen effective December&#160;31, 2003.  There is no service cost incurred under this plan.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also provides a supplementary retirement plan for certain key employees, the VIP Retirement Plan (the &#8220;VIP Plan&#8221;).  As more fully described in the Annual Report on Form 10-K for the year ended January&#160;31, 2023, benefit accruals under the VIP Plan were frozen since December&#160;31, 2003.  There is no service cost incurred under the VIP Plan.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the net periodic pension cost for the Pension Plan and the VIP Plan for the three and nine months ended October&#160;31, 2023 and 2022:</span></div><div style="margin-bottom:6pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.807%"><tr><td style="width:1.0%"></td><td style="width:40.753%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.801%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.801%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.846%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.801%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.804%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-bottom:6pt;margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Service cost</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">106&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">298&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">826&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">895&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected return on plan assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(203)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(237)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(601)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(711)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Plan settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">372&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">372&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of prior service cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">134&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">402&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Benefit cost</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">259&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">623&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">650&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">401(k) Retirement Plan</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s retirement plan, which covers all U.S. employees, allows participants to defer from 1% to 75% of their eligible compensation through a 401(k)-retirement program.  The plan includes Virco stock as one of the investment options.  At October&#160;31, 2023 and 2022, the plan held 1,404,774 shares and 1,250,468 shares of Virco stock, respectively.  For the three-month period ended October&#160;31, 2023 and 2022, the compensation costs incurred for employer match, which is paid in the form of Company stock, was $356,000 and $333,000 respectively.  For the nine-month period ended October&#160;31, 2023 and 2022, the compensation costs incurred for employer match, which is paid in the form of Company stock, was $1,078,000 and $985,000 respectively.</span></div>        .<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PostemploymentBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for postemployment benefits, which may include supplemental unemployment benefits, obligations recognized for all types of benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement. Disclosure may also include discussion that an obligation for postemployment benefits is not accrued in accordance with regulation only because the amount cannot be reasonably estimated.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 712<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6410195&amp;loc=d3e80090-111668<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 712<br> -URI https://asc.fasb.org/topic&amp;trid=2197446<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PostemploymentBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192049536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Accrual<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantiesDisclosuresAbstract', window );"><strong>Product Warranties Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyDisclosureTextBlock', window );">Warranty Accrual</a></td>
<td class="text">Warranty Accrual<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides a warranty against all substantial defects in material and workmanship. The standard warranty offered on products sold through January 31, 2013 is ten years. Effective February 1, 2014 the Company modified its warranty to a limited lifetime warranty. The warranty was effective February 1, 2014, is not anticipated to have a significant effect on warranty expense. Effective January 1, 2017, the Company modified the standard warranty offered on products sold after January 1, 2017 to provide specific warranty periods by product component, with no warranty period longer than ten years. The Company&#8217;s warranty is not a guarantee of service life, which depends upon events outside the Company&#8217;s control and may be different from the warranty period. The Company accrues an estimate of its exposure to warranty claims based upon both product sales data and an analysis of actual warranty claims incurred.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of the Company&#8217;s warranty-claim activity for the three and nine months ended October&#160;31, 2023 and 2022:</span></div><div style="margin-bottom:6pt;margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:38.338%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.671%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.671%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.375%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.527%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">650&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">106&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">256&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs incurred</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(54)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(56)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(145)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(156)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">700&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">700&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -URI https://asc.fasb.org/topic&amp;trid=2155896<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192140512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contingencies<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyDisclosures', window );">Contingencies</a></td>
<td class="text">Contingencies<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has a self-insured retention for product losses up to $250,000 per occurrence, workers&#8217; compensation liability losses up to $250,000 per occurrence, general liability losses up to $50,000 per occurrence and automobile liability losses up to </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$50,000 per occurrence. The Company has purchased insurance to cover losses in excess of the self-insurance retention or deductible up to a limit of $30,000,000. The Company has obtained an actuarial estimate of its total expected future losses for liability claims and recorded a liability equal to the net present value.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company and its subsidiaries are defendants in various legal proceedings resulting from operations in the normal course of business. It is the opinion of management, in consultation with legal counsel, that the ultimate outcome of all such matters will not materially affect the Company&#8217;s financial position, results of operations or cash flows.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingencyDisclosures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for loss and gain contingencies. Describes any existing condition, situation, or set of circumstances involving uncertainty as of the balance sheet date (or prior to issuance of the financial statements) as to a probable or reasonably possible loss incurred by an entity that will ultimately be resolved when one or more future events occur or fail to occur, and typically discloses the amount of loss recorded or a range of possible loss, or an assertion that no reasonable estimate can be made.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=2127163<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6397426&amp;loc=d3e17499-108355<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14557-108349<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 30<br> -URI https://asc.fasb.org/subtopic&amp;trid=2127197<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14435-108349<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q4)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011672&amp;loc=d3e149879-122751<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q2)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011672&amp;loc=d3e149879-122751<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyDisclosures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192051968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Delivery Costs<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncomeAndExpensesAbstract', window );"><strong>Other Income and Expenses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_DeliveryCostsTextBlock', window );">Delivery Costs</a></td>
<td class="text">Delivery Costs<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended October&#160;31, 2023 and 2022, shipping and classroom delivery costs of approximately $8,634,000 and $8,393,000, respectively, were included in selling, general and administrative expenses in the accompanying condensed consolidated statements of operations.  </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended October&#160;31, 2023 and 2022, shipping and classroom delivery costs of approximately $21,968,000 and $18,776,000, respectively, were included in selling, general and administrative expenses in the accompanying condensed consolidated statements of operations.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncomeAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_DeliveryCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Delivery Costs [Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_DeliveryCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192018848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events</a></td>
<td class="text">Subsequent Events<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December&#160;5, 2023, the Company&#8217;s Board of Directors declared a cash dividend for the Company&#8217;s fourth fiscal quarter of $0.02 on each outstanding share of common stock. The dividend is payable on January&#160;10, 2024 </span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to stockholders of record of the common stock as of the close of business on </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;22, 2023. </span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">While the Company </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">intends to pay future dividends on a quarterly basis, following review and approval by the Board of Directors, </span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the declaration and payment of future dividends, as well as the amounts thereof, are subject to the discretion of the Board as well as restrictive covenants in the Company&#8217;s lending agreements. There can be no assurance that the Company will declare and pay dividends in future periods.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, the Board of Directors has authorized </span><span style="color:#404040;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the repurchase of up to</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> $5,000,000 </span><span style="color:#404040;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of the Company&#8217;s common stock.  Repurchases may be made at management&#8217;s discretion from time to time </span><span style="background-color:#ffffff;color:#1f1f1f;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">through open market purchases, in privately negotiated transactions, or by other means, including through the use of trading plans intended to qualify under Rule 10b5-1 under the Securities Exchange Act of 1934, as amended, in accordance with applicable securities laws and other restrictions. The timing and total amount of stock repurchases will depend upon business, economic and market conditions, corporate, legal and regulatory requirements, prevailing stock prices, trading volume, and other considerations. </span><span style="color:#404040;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The repurchase program has no time limit and may be suspended for periods or discontinued at any time.  </span><span style="background-color:#ffffff;color:#1f1f1f;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company expects to utilize its existing cash and cash equivalents to fund repurchases under the share repurchase program</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI https://asc.fasb.org/topic&amp;trid=2122774<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192018848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory</a></td>
<td class="text"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a breakdown of the Company&#8217;s inventories as of October&#160;31, 2023, January&#160;31, 2023 and October&#160;31, 2022:</span></div><div style="margin-top:14pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"><tr><td style="width:1.0%"></td><td style="width:51.429%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.780%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.841%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.780%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.841%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.785%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1/31/2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;Finished goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,587&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,740&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,173&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;Work in process</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,270&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,303&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,829&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,074&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,363&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,463&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total inventories</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,931&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,406&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,465&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634193468976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Quantitative Information of Leases</a></td>
<td class="text"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The quantitative information regarding our leases is as follows:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:41.778%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.556%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.556%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.827%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.556%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.559%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands, except lease term and discount rate)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,278&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,288&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,828&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,903&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">113&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">307&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">289&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sublease income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(30)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(30)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">673&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">547&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,639</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,407</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,778</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,709</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other operating leases information:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid for amounts included in the measurement of lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,345&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,306&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets obtained in exchange for new lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">364&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">469&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.5</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.4</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average discount rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.36&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.34&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Minimum Future Lease Payments</a></td>
<td class="text"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Minimum future lease payments for operating leases in effect as of&#160;October&#160;31, 2023, are as follows:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.614%"><tr><td style="width:1.0%"></td><td style="width:79.481%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.319%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Lease</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For the year ending January 31, </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remaining of 2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,447&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,825&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,564&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Remaining balance of lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,844</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,465&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,933&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,398</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Difference between undiscounted cash flows and discounted cash flows</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">446</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634191978768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">Outstanding balances of long-term debt</a></td>
<td class="text"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding balances for the Company&#8217;s long-term debt were as follows:</span></div><div style="margin-bottom:6pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"><tr><td style="width:1.0%"></td><td style="width:51.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.892%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.849%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.892%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.849%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.895%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1/31/2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-bottom:6pt;margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revolving credit line</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,747&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,122&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,221&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,444&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,622&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,680&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total debt</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,191&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,744&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,901&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less current portion</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">245&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,360&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,457&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current portion</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,946&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,384&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,444&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21506-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69E<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495743-112612<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21521-112644<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21538-112644<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123599511&amp;loc=d3e64711-112823<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634191951584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net income per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Earnings Per Share, Basic and Diluted</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:47.726%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.826%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.072%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands, except per share data)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,160&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,875&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,252&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,471&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares of common stock outstanding - basic</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,347&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,211&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,277&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dilutive effect of common stock equivalents from equity incentive plans </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares of common stock outstanding - diluted</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,428&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,249&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,334&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,136&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per share - basic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.62&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.49&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.49&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per share - diluted</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.62&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.48&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.48&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.77&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192023664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Share-Based Payment Arrangement, Expensed and Capitalized, Amount</a></td>
<td class="text"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the stock-based compensation expense related to restricted stock awards recognized in the Company's statements of operations for the three and nine months ended October&#160;31, 2023 and 2022:</span></div><div><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"><tr><td style="width:1.0%"></td><td style="width:43.428%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.559%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.863%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.559%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.128%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of goods sold</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">339&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">389&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stock-based compensation expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">103&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">423&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">509&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192133248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement Benefits [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock', window );">Schedule of Defined Benefit Plans Disclosures</a></td>
<td class="text">he net periodic pension cost for the Pension Plan and the VIP Plan for the three and nine months ended October&#160;31, 2023 and 2022:<div style="margin-bottom:6pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.807%"><tr><td style="width:1.0%"></td><td style="width:40.753%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.801%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.801%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.846%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.801%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.804%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-bottom:6pt;margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Service cost</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">106&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">298&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">826&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">895&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected return on plan assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(203)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(237)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(601)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(711)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Plan settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">372&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">372&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of prior service cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">134&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">402&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Benefit cost</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">259&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">623&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">650&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of one or more of the entity's defined benefit pension plans or one or more other defined benefit postretirement plans, separately for pension plans and other postretirement benefit plans including the entity's schedule of fair value of plan assets for defined benefit or other postretirement plans.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2439-114920<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2410-114920<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2417-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192057824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Accrual (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantiesDisclosuresAbstract', window );"><strong>Product Warranties Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Schedule of Product Warranty Liability</a></td>
<td class="text"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of the Company&#8217;s warranty-claim activity for the three and nine months ended October&#160;31, 2023 and 2022:</span></div><div style="margin-bottom:6pt;margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:38.338%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.671%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.671%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.375%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.527%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10/31/2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">650&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">106&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">256&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs incurred</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(54)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(56)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(145)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(156)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">700&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">700&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192158560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Seasonality (Details)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SalesMember', window );">Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SeasonalityTextualAbstract', window );"><strong>Seasonality (Textual) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_ExtremeSeasonalityGoods', window );">The market for educational furniture is marked by extreme seasonality</a></td>
<td class="nump">50.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_ExtremeSeasonalityGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Extreme seasonality goods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_ExtremeSeasonalityGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_SeasonalityTextualAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Seasonality.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_SeasonalityTextualAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634188977680">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">$ 20,587<span></span>
</td>
<td class="nump">$ 25,740<span></span>
</td>
<td class="nump">$ 24,173<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work in process</a></td>
<td class="nump">23,270<span></span>
</td>
<td class="nump">25,303<span></span>
</td>
<td class="nump">18,829<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">15,074<span></span>
</td>
<td class="nump">16,363<span></span>
</td>
<td class="nump">14,463<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total inventories</a></td>
<td class="nump">$ 58,931<span></span>
</td>
<td class="nump">$ 67,406<span></span>
</td>
<td class="nump">$ 57,465<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634186349888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - ASC 842 Quantitative Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 1,278<span></span>
</td>
<td class="nump">$ 1,288<span></span>
</td>
<td class="nump">$ 3,828<span></span>
</td>
<td class="nump">$ 3,903<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short-term lease cost</a></td>
<td class="nump">119<span></span>
</td>
<td class="nump">113<span></span>
</td>
<td class="nump">307<span></span>
</td>
<td class="nump">289<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubleaseIncome', window );">Sublease income</a></td>
<td class="num">(10)<span></span>
</td>
<td class="num">(10)<span></span>
</td>
<td class="num">(30)<span></span>
</td>
<td class="num">(30)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableLeaseCost', window );">Variable lease cost</a></td>
<td class="nump">252<span></span>
</td>
<td class="nump">16<span></span>
</td>
<td class="nump">673<span></span>
</td>
<td class="nump">547<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Total lease cost</a></td>
<td class="nump">$ 1,639<span></span>
</td>
<td class="nump">$ 1,407<span></span>
</td>
<td class="nump">4,778<span></span>
</td>
<td class="nump">4,709<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRent', window );">Cash paid for amounts included in the measurement of lease liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,345<span></span>
</td>
<td class="nump">4,306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalLeaseObligationsIncurred', window );">Right-of-use assets obtained in exchange for new lease liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 364<span></span>
</td>
<td class="nump">$ 469<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted-average remaining lease term (years)</a></td>
<td class="text">1 year 6 months<span></span>
</td>
<td class="text">2 years 4 months 24 days<span></span>
</td>
<td class="text">1 year 6 months<span></span>
</td>
<td class="text">2 years 4 months 24 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted-average discount rate</a></td>
<td class="nump">6.36%<span></span>
</td>
<td class="nump">6.34%<span></span>
</td>
<td class="nump">6.36%<span></span>
</td>
<td class="nump">6.34%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalLeaseObligationsIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in lease obligation from new lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4313-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalLeaseObligationsIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash payments to lessor's for use of assets under operating leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term lease cost, excluding expense for lease with term of one month or less.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubleaseIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of sublease income excluding finance and operating lease expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubleaseIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634191609856">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - ASC 842 Minimum Lease Payments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">Remaining of 2024</a></td>
<td class="nump">$ 1,447<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2025</a></td>
<td class="nump">5,825<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2026</a></td>
<td class="nump">1,564<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2027</a></td>
<td class="nump">8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2028</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour', window );">Thereafter</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Remaining balance of lease payments</a></td>
<td class="nump">8,844<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Short-term lease liabilities</a></td>
<td class="nump">5,465<span></span>
</td>
<td class="nump">$ 5,082<span></span>
</td>
<td class="nump">$ 4,985<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long-term lease liabilities</a></td>
<td class="nump">2,933<span></span>
</td>
<td class="nump">$ 6,796<span></span>
</td>
<td class="nump">$ 8,028<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">8,398<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Difference between undiscounted cash flows and discounted cash flows</a></td>
<td class="nump">$ 446<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Liability, Payments Due After Year Four</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634186335696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt (Long-term Debt) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">$ 8,191<span></span>
</td>
<td class="nump">$ 21,744<span></span>
</td>
<td class="nump">$ 16,901<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Less current portion</a></td>
<td class="nump">245<span></span>
</td>
<td class="nump">7,360<span></span>
</td>
<td class="nump">2,457<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Non-current portion</a></td>
<td class="nump">$ 7,946<span></span>
</td>
<td class="nump">14,384<span></span>
</td>
<td class="nump">14,444<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod', window );">Interest rate during period</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">$ 3,747<span></span>
</td>
<td class="nump">17,122<span></span>
</td>
<td class="nump">12,221<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=virc_OtherDebtMember', window );">Other Debt [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">$ 4,444<span></span>
</td>
<td class="nump">$ 4,622<span></span>
</td>
<td class="nump">$ 4,680<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The effective interest rate during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityInterestRateDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=virc_OtherDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=virc_OtherDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192903632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt (Narrative) (Details)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>May 19, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 31, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 28, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_DividendPayableMaximumAmountInFiscalYear', window );">Maximum dividend amount in fiscal year</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,000,000.0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_LineOfCreditFacilityBorrowingCapacityTerm', window );">Line of credit facility, term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear', window );">Line of credit facility, period for reduced borrowings during fourth quarter of each fiscal year (consecutive days)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">30 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod', window );">Interest rate during period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_CreditAgreementAmendmentFee', window );">Waiver and amendment fee</a></td>
<td class="nump">$ 50,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Unused portion fee rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,191,000<span></span>
</td>
<td class="nump">$ 21,744,000<span></span>
</td>
<td class="nump">$ 16,901,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement', window );">Increase in inventory sublimit under credit agreement</a></td>
<td class="nump">35,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement', window );">Increase in assemble to ship inventory sublimit under credit agreement</a></td>
<td class="nump">$ 15,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_IncrementalCreditLineIncreaseDecreasePercentage', window );">Incremental credit line increase (decrease)</a></td>
<td class="nump">0.67%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_IncreaseDecreaseApplicableMarginBasisPoints', window );">Increase (decrease) applicable margin basis points</a></td>
<td class="nump">0.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_IncrementalCreditLineIncreaseDecrease', window );">Incremental Credit Line Increase (Decrease)</a></td>
<td class="nump">$ 7,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,747,000<span></span>
</td>
<td class="nump">$ 17,122,000<span></span>
</td>
<td class="nump">$ 12,221,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_MortgagesMember', window );">Original Mortgage Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">20 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=virc_InventoryMember', window );">Inventory [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_LineOfCreditFacilityBorrowingBaseLimitation', window );">Revolving credit facility borrowing base limitation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_InventoriesMember', window );">Inventories [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_LineOfCreditFacilityBorrowingBaseLimitation', window );">Revolving credit facility borrowing base limitation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | Accounts receivable [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_LineOfCreditFacilityBorrowingBaseLimitation', window );">Revolving credit facility borrowing base limitation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=virc_AmendedAndRestatedCreditAgreementMember', window );">Amended and Restated Credit Agreement | Consecutive Four Fiscal Quarters Ending July 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio', window );">Minimum fixed charge coverage ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=virc_EquipmentLoanMember', window );">Equipment Loan [Member] | Amended and Restated Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases', window );">Line of credit facility, equipment financing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=virc_PNCMember', window );">PNC [Member] | Amended and Restated Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFeeAmount', window );">Non-refundable fee</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=virc_PNCMember', window );">PNC [Member] | Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Remaining borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=virc_PNCMember', window );">PNC [Member] | Revolving Credit Facility [Member] | Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet', window );">Line of credit facility, net</a></td>
<td class="nump">$ 72,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=virc_PNCMember', window );">PNC [Member] | Revolving Credit Facility [Member] | Amended and Restated Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=virc_PNCMember', window );">PNC [Member] | Equipment Loan [Member] | Amended and Restated Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFeeAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the fee that accompanies borrowing money under the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFeeAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum amount of borrowing capacity under a line of credit that is available as of the balance sheet date for a specific purpose other than for financing goods acquired for inventory or imminent delivery to a customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) of the credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The effective interest rate during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityInterestRateDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_CreditAgreementAmendmentFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Credit Agreement, Amendment Fee</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_CreditAgreementAmendmentFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt instrument, covenant, maintained fixed charge coverage ratio</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_DividendPayableMaximumAmountInFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dividend Payable, Maximum Amount In Fiscal Year</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_DividendPayableMaximumAmountInFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_IncreaseDecreaseApplicableMarginBasisPoints">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) Applicable Margin Basis Points</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_IncreaseDecreaseApplicableMarginBasisPoints</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Assemble To Ship Inventory Sublimit Under Credit Agreement</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Inventory Sublimit Under Credit Agreement</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_IncrementalCreditLineIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Incremental Credit Line Increase (Decrease)</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_IncrementalCreditLineIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_IncrementalCreditLineIncreaseDecreasePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Incremental Credit Line Increase (Decrease), Percentage</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_IncrementalCreditLineIncreaseDecreasePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_LineOfCreditFacilityBorrowingBaseLimitation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line of credit facility borrowing base limitation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_LineOfCreditFacilityBorrowingBaseLimitation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_LineOfCreditFacilityBorrowingCapacityTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line Of Credit Facility, Borrowing Capacity, Term</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_LineOfCreditFacilityBorrowingCapacityTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Period for Reduced Borrowings during Fourth Quarter of Each Fiscal Year</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_MortgagesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_MortgagesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=virc_InventoryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=virc_InventoryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_InventoriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_InventoriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=virc_AmendedAndRestatedCreditAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=virc_AmendedAndRestatedCreditAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_DebtInstrumentCovenantPeriodAxis=virc_CovenantPeriod1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_DebtInstrumentCovenantPeriodAxis=virc_CovenantPeriod1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=virc_EquipmentLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=virc_EquipmentLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityAxis=virc_PNCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAxis=virc_PNCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192495856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="nump">$ 255<span></span>
</td>
<td class="nump">$ 8,893<span></span>
</td>
<td class="nump">$ 255<span></span>
</td>
<td class="nump">$ 8,893<span></span>
</td>
<td class="nump">$ 864<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">24.50%<span></span>
</td>
<td class="nump">3.90%<span></span>
</td>
<td class="nump">24.00%<span></span>
</td>
<td class="nump">2.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634188981648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net income per Share (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 10,160<span></span>
</td>
<td class="nump">$ 7,875<span></span>
</td>
<td class="nump">$ 24,252<span></span>
</td>
<td class="nump">$ 12,471<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares outstanding - basic (shares)</a></td>
<td class="nump">16,347<span></span>
</td>
<td class="nump">16,211<span></span>
</td>
<td class="nump">16,277<span></span>
</td>
<td class="nump">16,118<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Net effect of dilutive share-based on the treasury stock method using average market price (shares)</a></td>
<td class="nump">81<span></span>
</td>
<td class="nump">38<span></span>
</td>
<td class="nump">57<span></span>
</td>
<td class="nump">18<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Totals (shares)</a></td>
<td class="nump">16,428<span></span>
</td>
<td class="nump">16,249<span></span>
</td>
<td class="nump">16,334<span></span>
</td>
<td class="nump">16,136<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income (loss) per share - basic (usd per share)</a></td>
<td class="nump">$ 0.62<span></span>
</td>
<td class="nump">$ 0.49<span></span>
</td>
<td class="nump">$ 1.49<span></span>
</td>
<td class="nump">$ 0.77<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income (loss) per share - diluted (usd per share)</a></td>
<td class="nump">$ 0.62<span></span>
</td>
<td class="nump">$ 0.48<span></span>
</td>
<td class="nump">$ 1.48<span></span>
</td>
<td class="nump">$ 0.77<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634193361248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 171<span></span>
</td>
<td class="nump">$ 103<span></span>
</td>
<td class="nump">$ 423<span></span>
</td>
<td class="nump">$ 509<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of Goods Sold [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1', window );">Stock-based compensation expense</a></td>
<td class="nump">28<span></span>
</td>
<td class="nump">28<span></span>
</td>
<td class="nump">84<span></span>
</td>
<td class="nump">120<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, General and Administrative Expenses [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1', window );">Stock-based compensation expense</a></td>
<td class="nump">143<span></span>
</td>
<td class="nump">$ 75<span></span>
</td>
<td class="nump">339<span></span>
</td>
<td class="nump">$ 389<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized compensation expense</a></td>
<td class="nump">$ 400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Unrecognized compensation expense, weighted average period to be recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member] | 2019 Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Awards authorized (shares)</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted in the period (shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">70,510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested in period (shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">93,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited in period (shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Awards available for future issuance (shares)</a></td>
<td class="nump">537,925<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">537,925<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost expensed and capitalized for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=virc_StockIncentivePlan2019Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=virc_StockIncentivePlan2019Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634186085600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans (Periodic Pension Cost) (Details) - Pension Plan [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract', window );"><strong>Components of Net Cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanServiceCost', window );">Service cost</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanInterestCost', window );">Interest cost</a></td>
<td class="nump">106<span></span>
</td>
<td class="nump">298<span></span>
</td>
<td class="nump">826<span></span>
</td>
<td class="nump">895<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets', window );">Expected return on plan assets</a></td>
<td class="num">(203)<span></span>
</td>
<td class="num">(237)<span></span>
</td>
<td class="num">(601)<span></span>
</td>
<td class="num">(711)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement', window );">Plan settlement</a></td>
<td class="nump">372<span></span>
</td>
<td class="nump">64<span></span>
</td>
<td class="nump">372<span></span>
</td>
<td class="nump">64<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit', window );">Amortization of prior service cost</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss', window );">Recognized net actuarial loss</a></td>
<td class="nump">26<span></span>
</td>
<td class="nump">134<span></span>
</td>
<td class="nump">26<span></span>
</td>
<td class="nump">402<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost', window );">Benefit cost</a></td>
<td class="nump">$ 301<span></span>
</td>
<td class="nump">$ 259<span></span>
</td>
<td class="nump">$ 623<span></span>
</td>
<td class="nump">$ 650<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of prior service cost (credit) recognized in net periodic benefit cost (credit) of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123453770&amp;loc=SL108413299-114919<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of (increase) decrease to benefit obligation of defined benefit plan from remeasurement due to settlement. Excludes decrease to benefit obligation for settlement payment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(10)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expected return (loss) recognized in net periodic benefit (cost) credit, calculated based on expected long-term rate of return and market-related value of plan assets of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123453770&amp;loc=SL108413299-114919<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanInterestCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost recognized for passage of time related to defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123453770&amp;loc=SL108413299-114919<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanInterestCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of net periodic benefit cost (credit) for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanServiceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost for actuarial present value of benefits attributed to service rendered by employee for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanServiceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Defined Benefit Plan, Recognized Net Actuarial Gain (Loss)</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634118539952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans (Narrative) (Details) - United States [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems', window );"><strong>Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent', window );">Minimum annual contributions per employee, percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent', window );">Maximum annual contributions per employee, percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">75.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_DefinedContributionPlanNumberOfCommonSharesHeld', window );">Number of common shares held</a></td>
<td class="nump">1,404,774<span></span>
</td>
<td class="nump">1,250,468<span></span>
</td>
<td class="nump">1,404,774<span></span>
</td>
<td class="nump">1,250,468<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanContributionsByEmployer', window );">Contributions by employer</a></td>
<td class="nump">$ 356<span></span>
</td>
<td class="nump">$ 333<span></span>
</td>
<td class="nump">$ 1,078<span></span>
</td>
<td class="nump">$ 985<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanContributionsByEmployer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of contribution received by defined benefit plan from employer which increases plan assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanContributionsByEmployer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Defined Contribution Plan, Minimum Annual Contributions Per Employee, Percent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_DefinedContributionPlanNumberOfCommonSharesHeld">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Defined Contribution Plan, Number of Common Shares Held</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_DefinedContributionPlanNumberOfCommonSharesHeld</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanSponsorLocationAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanSponsorLocationAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634189150352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward', window );"><strong>Warranty claim activity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Beginning balance</a></td>
<td class="nump">$ 600<span></span>
</td>
<td class="nump">$ 650<span></span>
</td>
<td class="nump">$ 600<span></span>
</td>
<td class="nump">$ 600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued', window );">Provision</a></td>
<td class="nump">54<span></span>
</td>
<td class="nump">106<span></span>
</td>
<td class="nump">145<span></span>
</td>
<td class="nump">256<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyExpense', window );">Costs incurred</a></td>
<td class="num">(54)<span></span>
</td>
<td class="num">(56)<span></span>
</td>
<td class="num">(145)<span></span>
</td>
<td class="num">(156)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Ending balance</a></td>
<td class="nump">$ 600<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
<td class="nump">$ 600<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_WarrantyLineItems', window );"><strong>Warranty [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_ProductWarranty', window );">Product warranty period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard and extended product warranty accrual from warranties issued.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3,4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_ProductWarranty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Product warranty.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_ProductWarranty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_WarrantyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Warranty [Line Items]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_WarrantyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192857680">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Contingencies (Details) - Maximum<br></strong></div></th>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Product Liability [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SelfInsuranceRetention', window );">Self insurance retention</a></td>
<td class="nump">$ 250,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Workers compensation Liability Insurance [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SelfInsuranceRetention', window );">Self insurance retention</a></td>
<td class="nump">250,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">General Liability Loss</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SelfInsuranceRetention', window );">Self insurance retention</a></td>
<td class="nump">50,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Automobile Liability Loss [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SelfInsuranceRetention', window );">Self insurance retention</a></td>
<td class="nump">50,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Loss Liability [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_SelfInsuranceRetention', window );">Self insurance retention</a></td>
<td class="nump">$ 30,000,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_SelfInsuranceRetention">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Self Insurance Retention</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_SelfInsuranceRetention</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=virc_ProductLiabilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=virc_ProductLiabilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=virc_WorkerscompensationLiabilityInsuranceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=virc_WorkerscompensationLiabilityInsuranceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=virc_GeneralLiabilityLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=virc_GeneralLiabilityLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=virc_AutomobileLiabilityLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=virc_AutomobileLiabilityLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=virc_LossLiabilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=virc_LossLiabilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634192603088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Delivery Costs (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncomeAndExpensesAbstract', window );"><strong>Other Income and Expenses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_virc_ShippingAndClassroomDeliveryCosts', window );">Shipping and classroom delivery costs</a></td>
<td class="nump">$ 8,634,000<span></span>
</td>
<td class="nump">$ 8,393,000<span></span>
</td>
<td class="nump">$ 21,968,000<span></span>
</td>
<td class="nump">$ 18,776,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncomeAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_virc_ShippingAndClassroomDeliveryCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Shipping And Classroom Delivery Costs</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">virc_ShippingAndClassroomDeliveryCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>virc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139634193469840">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent Events (Details) - Subsequent Event [Member]<br></strong></div></th>
<th class="th">
<div>Dec. 05, 2023 </div>
<div>$ / shares </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableAmountPerShare', window );">Dividends payable (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 0.02<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Number of shares authorized to be repurchased (in shares) | shares</a></td>
<td class="nump">5,000,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableAmountPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>virc-20231031_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:virc="http://www.virco.com/20231031"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="virc-20231031.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2023-12-04</instant>
        </period>
    </context>
    <context id="c-3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="c-5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="c-6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="c-10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-31</instant>
        </period>
    </context>
    <context id="c-11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-31</instant>
        </period>
    </context>
    <context id="c-12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-31</instant>
        </period>
    </context>
    <context id="c-13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-31</instant>
        </period>
    </context>
    <context id="c-14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2023-07-31</instant>
        </period>
    </context>
    <context id="c-15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="c-24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="c-25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="c-26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="c-27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="c-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="c-33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="c-34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="c-35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="c-36">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="c-37">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="c-38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="c-39">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="c-40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="c-45">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="c-46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="c-47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="c-48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-54">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="c-55">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="c-56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">virc:OtherDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-57">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">virc:OtherDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="c-58">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">virc:OtherDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="c-59">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2021-09-28</instant>
        </period>
    </context>
    <context id="c-60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="virc:DebtInstrumentCovenantPeriodAxis">virc:CovenantPeriod1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-28</instant>
        </period>
    </context>
    <context id="c-61">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-28</instant>
        </period>
    </context>
    <context id="c-62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-63">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">virc:InventoryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:InventoriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">virc:EquipmentLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">virc:EquipmentLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-68">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-69">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MortgagesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-08-31</instant>
        </period>
    </context>
    <context id="c-70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MortgagesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-08-01</startDate>
            <endDate>2017-08-31</endDate>
        </period>
    </context>
    <context id="c-71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MortgagesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-05-19</startDate>
            <endDate>2023-05-19</endDate>
        </period>
    </context>
    <context id="c-73">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2023-05-19</instant>
        </period>
    </context>
    <context id="c-74">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">virc:StockIncentivePlan2019Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">virc:StockIncentivePlan2019Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-81">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-85">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-88">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-90">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-91">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="c-93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c-96">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">virc:ProductLiabilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">virc:WorkerscompensationLiabilityInsuranceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-99">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">virc:GeneralLiabilityLossMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-100">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">virc:AutomobileLiabilityLossMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">virc:LossLiabilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="c-102">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-05</instant>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-25">0000751365</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="c-1" id="f-26">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="c-1" id="f-27">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="c-1" id="f-28">Q3</dei:DocumentFiscalPeriodFocus>
    <dei:CurrentFiscalYearEndDate contextRef="c-1" id="f-29">--01-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentType contextRef="c-1" id="f-1">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="c-1" id="f-2">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="c-1" id="f-3">2023-10-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="c-1" id="f-4">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="c-1" id="f-5">1-8777</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="c-1" id="f-6">VIRCO MFG. CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c-1" id="f-7">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="c-1" id="f-8">95-1613718</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c-1" id="f-9">2027 Harpers Way</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="c-1" id="f-10">Torrance</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c-1" id="f-11">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c-1" id="f-12">90501</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c-1" id="f-13">310</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c-1" id="f-14">533-0474</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="c-1" id="f-15">Common Stock, $0.01 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c-1" id="f-16">VIRC</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c-1" id="f-17">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="c-1" id="f-18">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="c-1" id="f-19">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="c-1" id="f-20">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="c-1" id="f-21">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="c-1" id="f-22">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="c-1" id="f-23">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="c-2" decimals="INF" id="f-24" unitRef="shares">16347314</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:Cash contextRef="c-3" decimals="-3" id="f-30" unitRef="usd">4887000</us-gaap:Cash>
    <us-gaap:Cash contextRef="c-4" decimals="-3" id="f-31" unitRef="usd">1057000</us-gaap:Cash>
    <us-gaap:Cash contextRef="c-5" decimals="-3" id="f-32" unitRef="usd">2175000</us-gaap:Cash>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-3" decimals="-3" id="f-33" unitRef="usd">33029000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-4" decimals="-3" id="f-34" unitRef="usd">18435000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-5" decimals="-3" id="f-35" unitRef="usd">28028000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent contextRef="c-3" decimals="-3" id="f-36" unitRef="usd">27000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent contextRef="c-4" decimals="-3" id="f-37" unitRef="usd">68000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent contextRef="c-5" decimals="-3" id="f-38" unitRef="usd">102000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:IncomeTaxesReceivable contextRef="c-3" decimals="-3" id="f-39" unitRef="usd">0</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable contextRef="c-4" decimals="-3" id="f-40" unitRef="usd">19000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable contextRef="c-5" decimals="-3" id="f-41" unitRef="usd">106000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:InventoryNet contextRef="c-3" decimals="-3" id="f-42" unitRef="usd">58931000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-4" decimals="-3" id="f-43" unitRef="usd">67406000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-5" decimals="-3" id="f-44" unitRef="usd">57465000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c-3" decimals="-3" id="f-45" unitRef="usd">1961000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c-4" decimals="-3" id="f-46" unitRef="usd">2083000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c-5" decimals="-3" id="f-47" unitRef="usd">1671000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-3" decimals="-3" id="f-48" unitRef="usd">98835000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-4" decimals="-3" id="f-49" unitRef="usd">89068000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-5" decimals="-3" id="f-50" unitRef="usd">89547000</us-gaap:AssetsCurrent>
    <us-gaap:Land contextRef="c-3" decimals="-3" id="f-51" unitRef="usd">3731000</us-gaap:Land>
    <us-gaap:Land contextRef="c-4" decimals="-3" id="f-52" unitRef="usd">3731000</us-gaap:Land>
    <us-gaap:Land contextRef="c-5" decimals="-3" id="f-53" unitRef="usd">3731000</us-gaap:Land>
    <us-gaap:LandImprovements contextRef="c-3" decimals="-3" id="f-54" unitRef="usd">694000</us-gaap:LandImprovements>
    <us-gaap:LandImprovements contextRef="c-4" decimals="-3" id="f-55" unitRef="usd">686000</us-gaap:LandImprovements>
    <us-gaap:LandImprovements contextRef="c-5" decimals="-3" id="f-56" unitRef="usd">686000</us-gaap:LandImprovements>
    <us-gaap:BuildingsAndImprovementsGross contextRef="c-3" decimals="-3" id="f-57" unitRef="usd">51498000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="c-4" decimals="-3" id="f-58" unitRef="usd">51310000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="c-5" decimals="-3" id="f-59" unitRef="usd">51459000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="c-3" decimals="-3" id="f-60" unitRef="usd">116695000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="c-4" decimals="-3" id="f-61" unitRef="usd">113662000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="c-5" decimals="-3" id="f-62" unitRef="usd">114762000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:LeaseholdImprovementsGross contextRef="c-3" decimals="-3" id="f-63" unitRef="usd">976000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross contextRef="c-4" decimals="-3" id="f-64" unitRef="usd">983000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross contextRef="c-5" decimals="-3" id="f-65" unitRef="usd">1012000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c-3" decimals="-3" id="f-66" unitRef="usd">173594000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c-4" decimals="-3" id="f-67" unitRef="usd">170372000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c-5" decimals="-3" id="f-68" unitRef="usd">171650000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c-3" decimals="-3" id="f-69" unitRef="usd">138650000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c-4" decimals="-3" id="f-70" unitRef="usd">135810000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c-5" decimals="-3" id="f-71" unitRef="usd">136998000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-3" decimals="-3" id="f-72" unitRef="usd">34944000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-4" decimals="-3" id="f-73" unitRef="usd">34562000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-5" decimals="-3" id="f-74" unitRef="usd">34652000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-3" decimals="-3" id="f-75" unitRef="usd">7156000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-4" decimals="-3" id="f-76" unitRef="usd">10120000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-5" decimals="-3" id="f-77" unitRef="usd">11116000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c-3" decimals="-3" id="f-78" unitRef="usd">7031000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c-4" decimals="-3" id="f-79" unitRef="usd">7800000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c-5" decimals="-3" id="f-80" unitRef="usd">160000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-3" decimals="-3" id="f-81" unitRef="usd">9073000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-4" decimals="-3" id="f-82" unitRef="usd">8576000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-5" decimals="-3" id="f-83" unitRef="usd">8245000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets contextRef="c-3" decimals="-3" id="f-84" unitRef="usd">157039000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-4" decimals="-3" id="f-85" unitRef="usd">150126000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-5" decimals="-3" id="f-86" unitRef="usd">143720000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="c-3" decimals="-3" id="f-87" unitRef="usd">14351000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="c-4" decimals="-3" id="f-88" unitRef="usd">19448000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="c-5" decimals="-3" id="f-89" unitRef="usd">18926000</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="c-3" decimals="-3" id="f-90" unitRef="usd">11102000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-91" unitRef="usd">9554000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-92" unitRef="usd">9084000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:TaxesPayableCurrentAndNoncurrent contextRef="c-3" decimals="-3" id="f-93" unitRef="usd">3130000</us-gaap:TaxesPayableCurrentAndNoncurrent>
    <us-gaap:TaxesPayableCurrentAndNoncurrent contextRef="c-4" decimals="-3" id="f-94" unitRef="usd">0</us-gaap:TaxesPayableCurrentAndNoncurrent>
    <us-gaap:TaxesPayableCurrentAndNoncurrent contextRef="c-5" decimals="-3" id="f-95" unitRef="usd">0</us-gaap:TaxesPayableCurrentAndNoncurrent>
    <us-gaap:LongTermDebtCurrent contextRef="c-3" decimals="-3" id="f-96" unitRef="usd">245000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent contextRef="c-4" decimals="-3" id="f-97" unitRef="usd">7360000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent contextRef="c-5" decimals="-3" id="f-98" unitRef="usd">2457000</us-gaap:LongTermDebtCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-3" decimals="-3" id="f-99" unitRef="usd">5465000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-4" decimals="-3" id="f-100" unitRef="usd">5082000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-5" decimals="-3" id="f-101" unitRef="usd">4985000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="c-3" decimals="-3" id="f-102" unitRef="usd">7339000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-103" unitRef="usd">7081000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-104" unitRef="usd">7767000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-3" decimals="-3" id="f-105" unitRef="usd">41632000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-106" unitRef="usd">48525000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-107" unitRef="usd">43219000</us-gaap:LiabilitiesCurrent>
    <us-gaap:SelfInsuranceReserveNoncurrent contextRef="c-3" decimals="-3" id="f-108" unitRef="usd">748000</us-gaap:SelfInsuranceReserveNoncurrent>
    <us-gaap:SelfInsuranceReserveNoncurrent contextRef="c-4" decimals="-3" id="f-109" unitRef="usd">1050000</us-gaap:SelfInsuranceReserveNoncurrent>
    <us-gaap:SelfInsuranceReserveNoncurrent contextRef="c-5" decimals="-3" id="f-110" unitRef="usd">1454000</us-gaap:SelfInsuranceReserveNoncurrent>
    <virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent contextRef="c-3" decimals="-3" id="f-111" unitRef="usd">9334000</virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent>
    <virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent contextRef="c-4" decimals="-3" id="f-112" unitRef="usd">10676000</virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent>
    <virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent contextRef="c-5" decimals="-3" id="f-113" unitRef="usd">11776000</virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-3" decimals="-3" id="f-114" unitRef="usd">7946000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-4" decimals="-3" id="f-115" unitRef="usd">14384000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-5" decimals="-3" id="f-116" unitRef="usd">14444000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-3" decimals="-3" id="f-117" unitRef="usd">2933000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-3" decimals="-3" id="f-118" unitRef="usd">2933000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-119" unitRef="usd">6796000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-5" decimals="-3" id="f-120" unitRef="usd">8028000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherAccruedLiabilitiesNoncurrent contextRef="c-3" decimals="-3" id="f-121" unitRef="usd">657000</us-gaap:OtherAccruedLiabilitiesNoncurrent>
    <us-gaap:OtherAccruedLiabilitiesNoncurrent contextRef="c-4" decimals="-3" id="f-122" unitRef="usd">634000</us-gaap:OtherAccruedLiabilitiesNoncurrent>
    <us-gaap:OtherAccruedLiabilitiesNoncurrent contextRef="c-5" decimals="-3" id="f-123" unitRef="usd">771000</us-gaap:OtherAccruedLiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent contextRef="c-3" decimals="-3" id="f-124" unitRef="usd">21618000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent contextRef="c-4" decimals="-3" id="f-125" unitRef="usd">33540000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent contextRef="c-5" decimals="-3" id="f-126" unitRef="usd">36473000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:CommitmentsAndContingencies contextRef="c-3" id="f-127" unitRef="usd" xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies contextRef="c-4" id="f-128" unitRef="usd" xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies contextRef="c-5" id="f-129" unitRef="usd" xsi:nil="true"/>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c-3" decimals="INF" id="f-130" unitRef="shares">3000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c-5" decimals="INF" id="f-131" unitRef="shares">3000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c-4" decimals="INF" id="f-132" unitRef="shares">3000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-4"
      decimals="INF"
      id="f-133"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-3"
      decimals="INF"
      id="f-134"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-5"
      decimals="INF"
      id="f-135"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesIssued contextRef="c-4" decimals="INF" id="f-136" unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued contextRef="c-3" decimals="INF" id="f-137" unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued contextRef="c-5" decimals="INF" id="f-138" unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-4" decimals="INF" id="f-139" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-3" decimals="INF" id="f-140" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-5" decimals="INF" id="f-141" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue contextRef="c-3" decimals="-3" id="f-142" unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue contextRef="c-4" decimals="-3" id="f-143" unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue contextRef="c-5" decimals="-3" id="f-144" unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-4" decimals="INF" id="f-145" unitRef="shares">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-5" decimals="INF" id="f-146" unitRef="shares">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-3" decimals="INF" id="f-147" unitRef="shares">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-5"
      decimals="INF"
      id="f-148"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-4"
      decimals="INF"
      id="f-149"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-3"
      decimals="INF"
      id="f-150"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-3" decimals="INF" id="f-151" unitRef="shares">16347314</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="c-3" decimals="INF" id="f-152" unitRef="shares">16347314</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-4" decimals="INF" id="f-153" unitRef="shares">16210985</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-5" decimals="INF" id="f-154" unitRef="shares">16210985</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="c-4" decimals="INF" id="f-155" unitRef="shares">16210985</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="c-5" decimals="INF" id="f-156" unitRef="shares">16210985</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue contextRef="c-3" decimals="-3" id="f-157" unitRef="usd">164000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c-4" decimals="-3" id="f-158" unitRef="usd">162000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c-5" decimals="-3" id="f-159" unitRef="usd">162000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital contextRef="c-3" decimals="-3" id="f-160" unitRef="usd">121201000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="c-4" decimals="-3" id="f-161" unitRef="usd">120890000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="c-5" decimals="-3" id="f-162" unitRef="usd">120787000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-3" decimals="-3" id="f-163" unitRef="usd">-26379000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-4" decimals="-3" id="f-164" unitRef="usd">-50631000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-5" decimals="-3" id="f-165" unitRef="usd">-54707000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-3" decimals="-3" id="f-166" unitRef="usd">-1197000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-4" decimals="-3" id="f-167" unitRef="usd">-2360000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-5" decimals="-3" id="f-168" unitRef="usd">-2214000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity contextRef="c-3" decimals="-3" id="f-169" unitRef="usd">93789000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-170" unitRef="usd">68061000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-171" unitRef="usd">64028000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-3" decimals="-3" id="f-172" unitRef="usd">157039000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-4" decimals="-3" id="f-173" unitRef="usd">150126000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-5" decimals="-3" id="f-174" unitRef="usd">143720000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-6" decimals="-3" id="f-175" unitRef="usd">84252000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-7" decimals="-3" id="f-176" unitRef="usd">77395000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-6" decimals="-3" id="f-177" unitRef="usd">46041000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-7" decimals="-3" id="f-178" unitRef="usd">46618000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit contextRef="c-6" decimals="-3" id="f-179" unitRef="usd">38211000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-7" decimals="-3" id="f-180" unitRef="usd">30777000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-6" decimals="-3" id="f-181" unitRef="usd">23505000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-7" decimals="-3" id="f-182" unitRef="usd">21977000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss contextRef="c-6" decimals="-3" id="f-183" unitRef="usd">14706000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-7" decimals="-3" id="f-184" unitRef="usd">8800000</us-gaap:OperatingIncomeLoss>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c-6" decimals="-3" id="f-185" unitRef="usd">-176000</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c-7" decimals="-3" id="f-186" unitRef="usd">220000</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent contextRef="c-6" decimals="-3" id="f-187" unitRef="usd">301000</us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent>
    <us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent contextRef="c-7" decimals="-3" id="f-188" unitRef="usd">259000</us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent>
    <us-gaap:InterestExpense contextRef="c-6" decimals="-3" id="f-189" unitRef="usd">765000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense contextRef="c-7" decimals="-3" id="f-190" unitRef="usd">567000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-6" decimals="-3" id="f-191" unitRef="usd">13464000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-7" decimals="-3" id="f-192" unitRef="usd">8194000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-193" unitRef="usd">3304000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-194" unitRef="usd">319000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-195" unitRef="usd">10160000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-196" unitRef="usd">7875000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-6"
      decimals="2"
      id="f-197"
      unitRef="usdPerShare">0.62</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-7"
      decimals="2"
      id="f-198"
      unitRef="usdPerShare">0.49</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-6"
      decimals="2"
      id="f-199"
      unitRef="usdPerShare">0.62</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-7"
      decimals="2"
      id="f-200"
      unitRef="usdPerShare">0.48</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-6" decimals="-3" id="f-201" unitRef="shares">16347000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-6" decimals="-3" id="f-202" unitRef="shares">16347000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-7" decimals="-3" id="f-203" unitRef="shares">16211000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-6" decimals="-3" id="f-204" unitRef="shares">16428000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-7" decimals="-3" id="f-205" unitRef="shares">16249000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-1" decimals="-3" id="f-206" unitRef="usd">226516000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-8" decimals="-3" id="f-207" unitRef="usd">192276000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-1" decimals="-3" id="f-208" unitRef="usd">126525000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-8" decimals="-3" id="f-209" unitRef="usd">119947000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit contextRef="c-1" decimals="-3" id="f-210" unitRef="usd">99991000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-8" decimals="-3" id="f-211" unitRef="usd">72329000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-1" decimals="-3" id="f-212" unitRef="usd">65343000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-8" decimals="-3" id="f-213" unitRef="usd">57099000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss contextRef="c-1" decimals="-3" id="f-214" unitRef="usd">34648000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-8" decimals="-3" id="f-215" unitRef="usd">15230000</us-gaap:OperatingIncomeLoss>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c-1" decimals="-3" id="f-216" unitRef="usd">448000</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c-8" decimals="-3" id="f-217" unitRef="usd">-85000</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent contextRef="c-1" decimals="-3" id="f-218" unitRef="usd">623000</us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent>
    <us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent contextRef="c-8" decimals="-3" id="f-219" unitRef="usd">650000</us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent>
    <us-gaap:InterestExpense contextRef="c-1" decimals="-3" id="f-220" unitRef="usd">2560000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense contextRef="c-8" decimals="-3" id="f-221" unitRef="usd">1692000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-222" unitRef="usd">31913000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-8" decimals="-3" id="f-223" unitRef="usd">12803000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-224" unitRef="usd">7661000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-8" decimals="-3" id="f-225" unitRef="usd">332000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-226" unitRef="usd">24252000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-8" decimals="-3" id="f-227" unitRef="usd">12471000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-1"
      decimals="2"
      id="f-228"
      unitRef="usdPerShare">1.49</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-8"
      decimals="2"
      id="f-229"
      unitRef="usdPerShare">0.77</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-1"
      decimals="2"
      id="f-230"
      unitRef="usdPerShare">1.48</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-8"
      decimals="2"
      id="f-231"
      unitRef="usdPerShare">0.77</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-232" unitRef="shares">16277000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-8" decimals="-3" id="f-233" unitRef="shares">16118000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-234" unitRef="shares">16334000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-8" decimals="-3" id="f-235" unitRef="shares">16136000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-236" unitRef="usd">10160000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-237" unitRef="usd">7875000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax contextRef="c-6" decimals="-3" id="f-238" unitRef="usd">406000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax contextRef="c-7" decimals="-3" id="f-239" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-6" decimals="-3" id="f-240" unitRef="usd">-1163000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-7" decimals="-3" id="f-241" unitRef="usd">-3545000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-6" decimals="-3" id="f-242" unitRef="usd">11323000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-7" decimals="-3" id="f-243" unitRef="usd">11420000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-244" unitRef="usd">24252000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-8" decimals="-3" id="f-245" unitRef="usd">12471000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax contextRef="c-1" decimals="-3" id="f-246" unitRef="usd">406000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax contextRef="c-8" decimals="-3" id="f-247" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-248" unitRef="usd">-1163000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-8" decimals="-3" id="f-249" unitRef="usd">-3815000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-1" decimals="-3" id="f-250" unitRef="usd">25415000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-8" decimals="-3" id="f-251" unitRef="usd">16286000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-252" unitRef="usd">24252000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-8" decimals="-3" id="f-253" unitRef="usd">12471000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-1" decimals="-3" id="f-254" unitRef="usd">3763000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-8" decimals="-3" id="f-255" unitRef="usd">3390000</us-gaap:DepreciationDepletionAndAmortization>
    <virc:NoncashRentExpense contextRef="c-1" decimals="-3" id="f-256" unitRef="usd">517000</virc:NoncashRentExpense>
    <virc:NoncashRentExpense contextRef="c-8" decimals="-3" id="f-257" unitRef="usd">404000</virc:NoncashRentExpense>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-1" decimals="-3" id="f-258" unitRef="usd">45000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-8" decimals="-3" id="f-259" unitRef="usd">60000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AmortizationOfFinancingCosts contextRef="c-1" decimals="-3" id="f-260" unitRef="usd">85000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts contextRef="c-8" decimals="-3" id="f-261" unitRef="usd">96000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits contextRef="c-1" decimals="-3" id="f-262" unitRef="usd">363000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits contextRef="c-8" decimals="-3" id="f-263" unitRef="usd">239000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:ShareBasedCompensation contextRef="c-1" decimals="-3" id="f-264" unitRef="usd">423000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-8" decimals="-3" id="f-265" unitRef="usd">509000</us-gaap:ShareBasedCompensation>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1 contextRef="c-1" decimals="-3" id="f-266" unitRef="usd">-372000</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1 contextRef="c-8" decimals="-3" id="f-267" unitRef="usd">-64000</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax contextRef="c-1" decimals="-3" id="f-268" unitRef="usd">3000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax contextRef="c-8" decimals="-3" id="f-269" unitRef="usd">405000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c-1" decimals="-3" id="f-270" unitRef="usd">448000</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c-8" decimals="-3" id="f-271" unitRef="usd">-85000</us-gaap:UnrealizedGainLossOnInvestments>
    <virc:SurrenderOfLifeInsurancePolicies contextRef="c-1" decimals="-3" id="f-272" unitRef="usd">95000</virc:SurrenderOfLifeInsurancePolicies>
    <virc:SurrenderOfLifeInsurancePolicies contextRef="c-8" decimals="-3" id="f-273" unitRef="usd">0</virc:SurrenderOfLifeInsurancePolicies>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-1" decimals="-3" id="f-274" unitRef="usd">14639000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-8" decimals="-3" id="f-275" unitRef="usd">10319000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="c-1" decimals="-3" id="f-276" unitRef="usd">-41000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="c-8" decimals="-3" id="f-277" unitRef="usd">-16000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c-1" decimals="-3" id="f-278" unitRef="usd">-8475000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c-8" decimals="-3" id="f-279" unitRef="usd">10092000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInIncomeTaxes contextRef="c-1" decimals="-3" id="f-280" unitRef="usd">3167000</us-gaap:IncreaseDecreaseInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInIncomeTaxes contextRef="c-8" decimals="-3" id="f-281" unitRef="usd">51000</us-gaap:IncreaseDecreaseInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c-1" decimals="-3" id="f-282" unitRef="usd">-133000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c-8" decimals="-3" id="f-283" unitRef="usd">-306000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="c-1" decimals="-3" id="f-284" unitRef="usd">-3150000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="c-8" decimals="-3" id="f-285" unitRef="usd">4578000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-1" decimals="-3" id="f-286" unitRef="usd">22273000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-8" decimals="-3" id="f-287" unitRef="usd">1455000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-288" unitRef="usd">4605000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-8" decimals="-3" id="f-289" unitRef="usd">2614000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireMarketableSecurities contextRef="c-1" decimals="-3" id="f-290" unitRef="usd">0</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:PaymentsToAcquireMarketableSecurities contextRef="c-8" decimals="-3" id="f-291" unitRef="usd">7280000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-292" unitRef="usd">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c-8" decimals="-3" id="f-293" unitRef="usd">4536000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromLifeInsurancePolicies contextRef="c-1" decimals="-3" id="f-294" unitRef="usd">0</us-gaap:ProceedsFromLifeInsurancePolicies>
    <us-gaap:ProceedsFromLifeInsurancePolicies contextRef="c-8" decimals="-3" id="f-295" unitRef="usd">2744000</us-gaap:ProceedsFromLifeInsurancePolicies>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-1" decimals="-3" id="f-296" unitRef="usd">-4605000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-8" decimals="-3" id="f-297" unitRef="usd">-2614000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt contextRef="c-1" decimals="-3" id="f-298" unitRef="usd">36906000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt contextRef="c-8" decimals="-3" id="f-299" unitRef="usd">32947000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt contextRef="c-1" decimals="-3" id="f-300" unitRef="usd">50459000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt contextRef="c-8" decimals="-3" id="f-301" unitRef="usd">30559000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:PaymentsOfFinancingCosts contextRef="c-1" decimals="-3" id="f-302" unitRef="usd">175000</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfFinancingCosts contextRef="c-8" decimals="-3" id="f-303" unitRef="usd">200000</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-1" decimals="-3" id="f-304" unitRef="usd">110000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-8" decimals="-3" id="f-305" unitRef="usd">213000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-1" decimals="-3" id="f-306" unitRef="usd">-13838000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-8" decimals="-3" id="f-307" unitRef="usd">1975000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-1" decimals="-3" id="f-308" unitRef="usd">3830000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-8" decimals="-3" id="f-309" unitRef="usd">816000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-4" decimals="-3" id="f-310" unitRef="usd">1057000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-9" decimals="-3" id="f-311" unitRef="usd">1359000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-3" decimals="-3" id="f-312" unitRef="usd">4887000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-5" decimals="-3" id="f-313" unitRef="usd">2175000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <virc:PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense contextRef="c-3" decimals="-3" id="f-314" unitRef="usd">178000</virc:PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense>
    <virc:PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense contextRef="c-5" decimals="-3" id="f-315" unitRef="usd">291000</virc:PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense>
    <us-gaap:InterestPaidNet contextRef="c-1" decimals="-3" id="f-316" unitRef="usd">2223000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet contextRef="c-8" decimals="-3" id="f-317" unitRef="usd">1310000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-1" decimals="-3" id="f-318" unitRef="usd">4156000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-8" decimals="-3" id="f-319" unitRef="usd">65000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-10"
      decimals="INF"
      id="f-320"
      unitRef="shares">16347314</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-10" decimals="-3" id="f-321" unitRef="usd">164000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-11" decimals="-3" id="f-322" unitRef="usd">121030000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-12" decimals="-3" id="f-323" unitRef="usd">-36539000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-13" decimals="-3" id="f-324" unitRef="usd">-2360000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-14" decimals="-3" id="f-325" unitRef="usd">82295000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-15" decimals="-3" id="f-326" unitRef="usd">10160000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-327" unitRef="usd">10160000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-16" decimals="-3" id="f-328" unitRef="usd">-1163000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-6" decimals="-3" id="f-329" unitRef="usd">-1163000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <virc:SharesVestedAndOtherDuringPeriodShares
      contextRef="c-17"
      decimals="INF"
      id="f-330"
      unitRef="shares">0</virc:SharesVestedAndOtherDuringPeriodShares>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-17" decimals="-3" id="f-331" unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-18" decimals="-3" id="f-332" unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-6" decimals="-3" id="f-333" unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-18" decimals="-3" id="f-334" unitRef="usd">171000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-6" decimals="-3" id="f-335" unitRef="usd">171000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-19"
      decimals="INF"
      id="f-336"
      unitRef="shares">16347314</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-19" decimals="-3" id="f-337" unitRef="usd">164000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-20" decimals="-3" id="f-338" unitRef="usd">121201000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-21" decimals="-3" id="f-339" unitRef="usd">-26379000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-22" decimals="-3" id="f-340" unitRef="usd">-1197000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-3" decimals="-3" id="f-341" unitRef="usd">93789000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-23"
      decimals="INF"
      id="f-342"
      unitRef="shares">16210985</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-23" decimals="-3" id="f-343" unitRef="usd">162000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-24" decimals="-3" id="f-344" unitRef="usd">120684000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-25" decimals="-3" id="f-345" unitRef="usd">-62582000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-26" decimals="-3" id="f-346" unitRef="usd">-5759000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-27" decimals="-3" id="f-347" unitRef="usd">52505000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-28" decimals="-3" id="f-348" unitRef="usd">7875000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-28" decimals="-3" id="f-349" unitRef="usd">7875000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-350" unitRef="usd">7875000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-29" decimals="-3" id="f-351" unitRef="usd">-3545000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-7" decimals="-3" id="f-352" unitRef="usd">-3545000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <virc:SharesVestedAndOtherDuringPeriodShares
      contextRef="c-30"
      decimals="INF"
      id="f-353"
      unitRef="shares">0</virc:SharesVestedAndOtherDuringPeriodShares>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-30" decimals="-3" id="f-354" unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-31" decimals="-3" id="f-355" unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-7" decimals="-3" id="f-356" unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-31" decimals="-3" id="f-357" unitRef="usd">103000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-7" decimals="-3" id="f-358" unitRef="usd">103000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-32"
      decimals="INF"
      id="f-359"
      unitRef="shares">16210985</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-32" decimals="-3" id="f-360" unitRef="usd">162000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-33" decimals="-3" id="f-361" unitRef="usd">120787000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-34" decimals="-3" id="f-362" unitRef="usd">-54707000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-35" decimals="-3" id="f-363" unitRef="usd">-2214000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-364" unitRef="usd">64028000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-36"
      decimals="INF"
      id="f-365"
      unitRef="shares">16210985</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-36" decimals="-3" id="f-366" unitRef="usd">162000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-37" decimals="-3" id="f-367" unitRef="usd">120890000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-38" decimals="-3" id="f-368" unitRef="usd">-50631000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-39" decimals="-3" id="f-369" unitRef="usd">-2360000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-370" unitRef="usd">68061000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-40" decimals="-3" id="f-371" unitRef="usd">24252000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-372" unitRef="usd">24252000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-41" decimals="-3" id="f-373" unitRef="usd">-1163000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-374" unitRef="usd">-1163000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <virc:SharesVestedAndOtherDuringPeriodShares
      contextRef="c-42"
      decimals="INF"
      id="f-375"
      unitRef="shares">136329</virc:SharesVestedAndOtherDuringPeriodShares>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-42" decimals="-3" id="f-376" unitRef="usd">2000</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-43" decimals="-3" id="f-377" unitRef="usd">-112000</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-1" decimals="-3" id="f-378" unitRef="usd">-110000</virc:SharesVestedAndOtherDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-43" decimals="-3" id="f-379" unitRef="usd">423000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-1" decimals="-3" id="f-380" unitRef="usd">423000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-19"
      decimals="INF"
      id="f-381"
      unitRef="shares">16347314</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-19" decimals="-3" id="f-382" unitRef="usd">164000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-20" decimals="-3" id="f-383" unitRef="usd">121201000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-21" decimals="-3" id="f-384" unitRef="usd">-26379000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-22" decimals="-3" id="f-385" unitRef="usd">-1197000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-3" decimals="-3" id="f-386" unitRef="usd">93789000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-44"
      decimals="INF"
      id="f-387"
      unitRef="shares">16102023</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-44" decimals="-3" id="f-388" unitRef="usd">161000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-45" decimals="-3" id="f-389" unitRef="usd">120492000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-46" decimals="-3" id="f-390" unitRef="usd">-67178000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-47" decimals="-3" id="f-391" unitRef="usd">-6029000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-9" decimals="-3" id="f-392" unitRef="usd">47446000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-48" decimals="-3" id="f-393" unitRef="usd">12471000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-8" decimals="-3" id="f-394" unitRef="usd">12471000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-49" decimals="-3" id="f-395" unitRef="usd">-3815000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-8" decimals="-3" id="f-396" unitRef="usd">-3815000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <virc:SharesVestedAndOtherDuringPeriodShares
      contextRef="c-50"
      decimals="INF"
      id="f-397"
      unitRef="shares">108962</virc:SharesVestedAndOtherDuringPeriodShares>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-50" decimals="-3" id="f-398" unitRef="usd">1000</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-51" decimals="-3" id="f-399" unitRef="usd">-214000</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue contextRef="c-8" decimals="-3" id="f-400" unitRef="usd">-213000</virc:SharesVestedAndOtherDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-51" decimals="-3" id="f-401" unitRef="usd">509000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-8" decimals="-3" id="f-402" unitRef="usd">509000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-32"
      decimals="INF"
      id="f-403"
      unitRef="shares">16210985</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-32" decimals="-3" id="f-404" unitRef="usd">162000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-33" decimals="-3" id="f-405" unitRef="usd">120787000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-34" decimals="-3" id="f-406" unitRef="usd">-54707000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-35" decimals="-3" id="f-407" unitRef="usd">-2214000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-408" unitRef="usd">64028000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="c-1" id="f-409">Basis of Presentation&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States (U.S. GAAP) for interim financial information and pursuant to the rules and regulations of the Securities and Exchange Commission. Accordingly, they do not include all of the information and notes required by generally accepted accounting principles for complete financial statements and are presented in accordance with the requirements of Form 10-Q and Rule 10-01 of Regulation S-X. These unaudited condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and notes thereto included in the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended January&#160;31, 2023 (&#x201c;Form&#160;10-K&#x201d;).&#160; In the opinion of management, all adjustments considered necessary for a fair presentation have been included. Operating results for the three months and nine months ended October&#160;31, 2023 are not necessarily indicative of the results that may be expected for the fiscal year ending January&#160;31, 2024.  The balance sheet at January&#160;31, 2023 has been derived from the audited consolidated financial statements at that date, but does not include all of the information and notes required by accounting principles generally accepted in the United States for complete financial statements. All references to the &#x201c;Company&#x201d; refer to Virco Mfg. Corporation and its subsidiaries.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <virc:SeasonalityTextBlock contextRef="c-1" id="f-410">Seasonality and Management Use of Estimates&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The market for educational furniture is marked by extreme seasonality, with approximately 50% of the Company&#x2019;s total sales typically occurring from June to August each year, the Company&#x2019;s peak season. Hence, the Company typically builds and carries significant amounts of inventory during and in anticipation of this peak summer season to facilitate the rapid delivery requirements of customers in the educational market. This requires a large up-front investment in inventory, labor, storage and related costs as inventory is built in anticipation of peak sales during the summer months. As the capital required for this build-up generally exceeds cash available from operations, the Company has generally relied on third-party bank financing to meet cash flow requirements during the build-up period immediately preceding the peak season. In addition, the Company typically is faced with an overall higher accounts receivable balance during the peak season. This occurs for two primary reasons. First, accounts receivable balances typically increase during the peak season as shipments of products increase. Second, many customers during this period are educational institutions and government entities, which tend to pay accounts receivable slower than commercial customers.  &lt;/span&gt;&lt;/div&gt;The Company&#x2019;s working capital requirements during and in anticipation of the peak summer season require management to make estimates and judgments that affect assets, liabilities, revenues and expenses, and related contingent assets and liabilities. On an ongoing basis, management evaluates its estimates, including those related to market demand, labor costs and stocking inventory.  Significant estimates made by management include, but are not limited to, valuation of inventory; deferred tax assets and liabilities; useful lives of property, plant and equipment; liabilities under pension, warranty and self-insurance; and the accounts receivable allowance for doubtful accounts.</virc:SeasonalityTextBlock>
    <virc:ExtremeSeasonalityGoods contextRef="c-52" decimals="2" id="f-411" unitRef="number">0.50</virc:ExtremeSeasonalityGoods>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="c-1" id="f-412">&lt;div&gt;&lt;span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company evaluates all Accounting Standards Updates ("ASUs") issued by the Financial Accounting Standards Board ("FASB") for consideration of their applicability to our condensed consolidated financial statements. We have assessed all ASUs issued but not yet adopted and concluded that those not disclosed are not&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; relevant &lt;/span&gt;&lt;span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;to&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; the Company or are not expected to have a material impact.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c-1" id="f-413">Revenue Recognition&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company manufactures, markets and distributes a wide variety of school and office furniture to wholesalers, distributors, educational institutions and governmental entities. Revenue is recorded for promised goods or services when control is transferred to customers in an amount that reflects the consideration to which the entity expects to be entitled to in exchange for those goods or services.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's sales generally involve a single performance obligation to deliver goods pursuant to customer purchase orders.&#160; Prices for our products are based on published price lists and customer agreements. The Company has determined that the performance obligations are satisfied at a point in time when the Company completes delivery per the customer contract. The majority of sales are free on board ("FOB") destination where the destination is specified per the customer contract and may &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;include delivering the furniture into the classroom, school site or warehouse. Sales of furniture that are sold FOB factory are typically made to resellers of our product who in turn provide logistics to the ultimate customer. Once a product has been delivered per the shipping terms, the customer is able to direct the use of, and obtain substantially all of the remaining benefits from the asset. The Company considers control to have transferred upon shipment or delivery in accordance with shipping terms because the Company has a present right to payment at that time, the customer has legal title to the asset, the Company has transferred physical possession of the asset, and the customer has significant risks and rewards of ownership of the asset.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales are recorded net of discounts, sales incentives and rebates, sales taxes and estimated returns and allowances.  The Company offers sales incentives and discounts through various regional and national programs to our customers. These programs include product rebates, product returns allowances and trade promotions. Variable consideration for these programs is estimated in the transaction price at contract inception based on current sales levels and historical experience using the expected value method, subject to constraint.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company generates revenue primarily by manufacturing and distributing products through resellers and direct-to-customers. Control transfers to both resellers and direct customers at a point in time when the delivery process is complete as determined by the corresponding shipping terms. Therefore, we do not consider them to be meaningfully different revenue streams given similarities in the nature of the products, performance obligation and distribution processes. Sales are predominately in the United States and to a similar class of customer. We do not manage or evaluate the business based on product line or any other discernable category.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:InventoryDisclosureTextBlock contextRef="c-1" id="f-414">Inventories&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventory is valued at the lower of cost or net realizable value (determined on a first-in, first-out basis) and includes material, labor, and factory overhead.  The Company records valuation adjustments for the excess cost of the inventory over its estimated net realizable value.  Valuation adjustments for slow-moving and obsolete inventory are calculated using an estimated percentage applied to inventories based on a physical inspection of the product in connection with a physical inventory, a review of slow-moving products and component stage, inventory category, historical and forecasted consumption of sales, and consideration of active marketing programs.  The market for education furniture is traditionally driven by value, not style, and the Company has not typically incurred material obsolescence expenses.  If market conditions are less favorable than those anticipated by management, additional valuation adjustments may be required.  The Company records the cost of excess capacity as a period expense, not as a component of capitalized inventory valuation.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a breakdown of the Company&#x2019;s inventories as of October&#160;31, 2023, January&#160;31, 2023 and October&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:51.429%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.544%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.780%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.841%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.780%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.841%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.785%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,173&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;Work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,829&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,463&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total inventories&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="c-1" id="f-415">&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a breakdown of the Company&#x2019;s inventories as of October&#160;31, 2023, January&#160;31, 2023 and October&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:51.429%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.544%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.780%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.841%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.780%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.841%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.785%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,173&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;Work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,829&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,463&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total inventories&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="c-3" decimals="-3" id="f-416" unitRef="usd">20587000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="c-4" decimals="-3" id="f-417" unitRef="usd">25740000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="c-5" decimals="-3" id="f-418" unitRef="usd">24173000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves contextRef="c-3" decimals="-3" id="f-419" unitRef="usd">23270000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves contextRef="c-4" decimals="-3" id="f-420" unitRef="usd">25303000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves contextRef="c-5" decimals="-3" id="f-421" unitRef="usd">18829000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves contextRef="c-3" decimals="-3" id="f-422" unitRef="usd">15074000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves contextRef="c-4" decimals="-3" id="f-423" unitRef="usd">16363000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves contextRef="c-5" decimals="-3" id="f-424" unitRef="usd">14463000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryNet contextRef="c-3" decimals="-3" id="f-425" unitRef="usd">58931000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-4" decimals="-3" id="f-426" unitRef="usd">67406000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-5" decimals="-3" id="f-427" unitRef="usd">57465000</us-gaap:InventoryNet>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="c-1" id="f-428">Leases&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has operating leases on real property, equipment, and automobiles, expiring at various dates through 2026.  The Company determines if an arrangement is a lease at inception and assesses classification of the lease at commencement. All of the Company&#x2019;s leases are classified as operating leases.  The Company uses the implicit rate when readily determinable, or the incremental borrowing rate.  Our incremental borrowing rate is estimated to approximate the interest rate on a collateralized basis with similar terms and payments using Company specific credit spreads. The Company&#x2019;s lease terms include options to extend or terminate the lease only when it is reasonably certain that we will exercise that option. Lease expense for our operating leases is recognized on a straight-line basis over the lease term.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has an operating lease for its corporate office and manufacturing and distribution facility located in Torrance, California, currently with a remaining lease term through April 2025. The Company's lease terms include options to extend or terminate the lease only when it is reasonably certain that we exercise that option.  The Company leases equipment under a&#160;5-&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;year operating lease arrangement. The Company has the option of buying the assets at the end of the lease period at a price that does not result in the Company being reasonably certain of exercising the option. In addition, the Company leases trucks and automobiles under operating leases that include certain fleet management and maintenance services. Certain of the leases contain renewal or purchase options and require payment for property taxes and insurance. The Company records lease expense on a straight-line basis based on the contractual lease payments. The Company recognizes the present value of the future lease commitments as an operating lease liability, and a corresponding right-of-use asset (&#x201c;ROU asset&#x201d;), net of tenant allowances.  Tenant improvements and related tenant allowances are recorded as a reduction to the ROU asset.  The Company elected to account for leases with an original term of 12 months or less that do not contain a purchase option as short-term leases. Additionally, certain of the leases provide for variable payment for property taxes, insurance, and common area maintenance payments, among others. The Company recognizes variable lease expenses for these leases in the period incurred. The Company's lease agreements do not contain any material residual value guarantees or material restrictive covenants.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The quantitative information regarding our leases is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:41.778%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.556%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.556%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.827%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.556%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.559%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands, except lease term and discount rate)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;119&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sublease income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;673&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1,639&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1,407&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;4,778&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;4,709&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Other operating leases information:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets obtained in exchange for new lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Minimum future lease payments for operating leases in effect as of&#160;October&#160;31, 2023, are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.614%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:79.481%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.319%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Lease&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;For the year ending January 31, &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Remaining of 2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,564&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Remaining balance of lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;8,844&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;8,398&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Difference between undiscounted cash flows and discounted cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;446&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LeaseCostTableTextBlock contextRef="c-1" id="f-429">&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The quantitative information regarding our leases is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:41.778%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.556%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.556%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.827%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.556%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.559%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands, except lease term and discount rate)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;119&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sublease income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;673&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1,639&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1,407&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;4,778&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;4,709&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Other operating leases information:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets obtained in exchange for new lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost contextRef="c-6" decimals="-3" id="f-430" unitRef="usd">1278000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="c-7" decimals="-3" id="f-431" unitRef="usd">1288000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="c-1" decimals="-3" id="f-432" unitRef="usd">3828000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="c-8" decimals="-3" id="f-433" unitRef="usd">3903000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c-6" decimals="-3" id="f-434" unitRef="usd">119000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c-7" decimals="-3" id="f-435" unitRef="usd">113000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c-1" decimals="-3" id="f-436" unitRef="usd">307000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c-8" decimals="-3" id="f-437" unitRef="usd">289000</us-gaap:ShortTermLeaseCost>
    <us-gaap:SubleaseIncome contextRef="c-6" decimals="-3" id="f-438" unitRef="usd">10000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome contextRef="c-7" decimals="-3" id="f-439" unitRef="usd">10000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome contextRef="c-1" decimals="-3" id="f-440" unitRef="usd">30000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome contextRef="c-8" decimals="-3" id="f-441" unitRef="usd">30000</us-gaap:SubleaseIncome>
    <us-gaap:VariableLeaseCost contextRef="c-6" decimals="-3" id="f-442" unitRef="usd">252000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost contextRef="c-7" decimals="-3" id="f-443" unitRef="usd">16000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost contextRef="c-1" decimals="-3" id="f-444" unitRef="usd">673000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost contextRef="c-8" decimals="-3" id="f-445" unitRef="usd">547000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost contextRef="c-6" decimals="-3" id="f-446" unitRef="usd">1639000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost contextRef="c-7" decimals="-3" id="f-447" unitRef="usd">1407000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost contextRef="c-1" decimals="-3" id="f-448" unitRef="usd">4778000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost contextRef="c-8" decimals="-3" id="f-449" unitRef="usd">4709000</us-gaap:LeaseCost>
    <us-gaap:PaymentsForRent contextRef="c-1" decimals="-3" id="f-450" unitRef="usd">4345000</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent contextRef="c-8" decimals="-3" id="f-451" unitRef="usd">4306000</us-gaap:PaymentsForRent>
    <us-gaap:CapitalLeaseObligationsIncurred contextRef="c-1" decimals="-3" id="f-452" unitRef="usd">364000</us-gaap:CapitalLeaseObligationsIncurred>
    <us-gaap:CapitalLeaseObligationsIncurred contextRef="c-8" decimals="-3" id="f-453" unitRef="usd">469000</us-gaap:CapitalLeaseObligationsIncurred>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-3" id="f-454">P1Y6M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-5" id="f-455">P2Y4M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c-3" decimals="4" id="f-456" unitRef="number">0.0636</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c-5" decimals="4" id="f-457" unitRef="number">0.0634</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="c-1" id="f-458">&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Minimum future lease payments for operating leases in effect as of&#160;October&#160;31, 2023, are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.614%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:79.481%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.319%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Lease&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;For the year ending January 31, &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Remaining of 2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,564&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Remaining balance of lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;8,844&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;8,398&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Difference between undiscounted cash flows and discounted cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;446&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear contextRef="c-3" decimals="-3" id="f-459" unitRef="usd">1447000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="c-3" decimals="-3" id="f-460" unitRef="usd">5825000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="c-3" decimals="-3" id="f-461" unitRef="usd">1564000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="c-3" decimals="-3" id="f-462" unitRef="usd">8000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="c-3" decimals="-3" id="f-463" unitRef="usd">0</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <virc:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour contextRef="c-3" decimals="-3" id="f-464" unitRef="usd">0</virc:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="c-3" decimals="-3" id="f-465" unitRef="usd">8844000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-3" decimals="-3" id="f-466" unitRef="usd">5465000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-3" decimals="-3" id="f-467" unitRef="usd">2933000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-3" decimals="-3" id="f-468" unitRef="usd">2933000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability contextRef="c-3" decimals="-3" id="f-469" unitRef="usd">8398000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="c-3" decimals="-3" id="f-470" unitRef="usd">446000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:DebtDisclosureTextBlock contextRef="c-1" id="f-471">Debt&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Outstanding balances for the Company&#x2019;s long-term debt were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:51.823%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.892%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.849%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.892%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.849%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.895%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving credit line&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,744&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-current portion&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company and Virco Inc., its wholly-owned subsidiary (the &#x201c;Borrowers&#x201d;) has a Revolving Credit and Security Agreement (the &#x201c;Credit Agreement&#x201d;) with PNC Bank, National Association, as administrative agent and lender (&#x201c;PNC&#x201d;).  The Credit Agreement was amended numerous times since its origination in December 2011.  On September 28, 2021, the Borrowers entered into an Amended and Restated Revolving Credit and Security Agreement (the &#x201c;Restated Credit Agreement&#x201d;) with PNC Bank, which amended and restated the prior Credit Agreement and effectively incorporated all of the prior amendments into an amended and restated form of agreement. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Restated Credit Agreement permits the Company to issue dividends or make payments with respect to the Company&#x2019;s capital stock in an aggregate amount up to $3.0 million during any fiscal year, provided that no default shall have occurred or is continuing or would result from any such payment, and the Company must demonstrate pro forma compliance with a 12-month trailing fixed charge coverage ratio of not less than 1.20:1.00 as of the fiscal quarter immediately preceding the date of any such dividend or payment.  The Restated Credit Agreement also requires the Company to maintain a minimum fixed charge coverage ratio, and contains numerous other covenants that limit under certain circumstances the ability of the Borrowers and their subsidiaries to, among other things, merge with or acquire other entities, incur new liens, incur additional indebtedness, sell assets outside of the ordinary course of business, enter into transactions with affiliates, or substantially change the general nature of the business of the Borrowers.  In connection with the Restated Credit Agreement, the Company also agreed to pay to PNC Bank a non-refundable fee of $50,000.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition to the financial covenants, the Restated Credit Agreement provides for customary events of default, subject to certain cure periods and other limitations.  Substantially all of the Borrowers' accounts receivable are automatically and promptly swept to repay amounts outstanding under the Restated Credit Agreement upon receipt by the Borrowers. Due to this automatic liquidating nature of the Restated Credit Agreement, if the Borrowers breach any covenant, violate any representation or warranty or suffer a deterioration in their ability to borrow pursuant to the borrowing base calculation, the Borrowers may not have access to cash liquidity unless provided by PNC at its discretion. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The other material terms of the Restated Credit Agreement are substantially the same as those of the original Credit Agreement, consisting of (i) a revolving line of credit with a Maximum Revolving Advance Amount of  $65.0 million that is subject to a borrowing base limitation and generally provides for advances of up to 85% of eligible accounts receivable, plus a percentage equal to the lesser of 60% of the value of eligible inventory or 85% of the liquidation value of eligible inventory, plus $15.0 million from January through July of each year, minus undrawn amounts of letters of credit and reserves and (ii) an equipment loan of $2.0&#160;million.  The Restated Credit Agreement is secured by substantially all of the Borrowers&#x2019; personal property and certain of the Borrowers&#x2019; real property. The Restated Credit Agreement is subject to certain prepayment penalties upon early termination of the Restated Credit Agreement. Prior to the maturity date, principal amounts outstanding under the Restated Credit Agreement may be repaid and reborrowed at the option of the Borrowers without premium or penalty, subject to borrowing base limitations, seasonal adjustments and certain other conditions, including reduced borrowings under the revolving line to less than or equal $10.0 million for a period of 30 consecutive days during the fourth quarter of each fiscal year. The Restated Credit Agreement also contains certain financial covenants, including covenants requiring a minimum fixed charge coverage ratio and limits on capital expenditures. The Company was in compliance with its debt covenants as of October&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's revolving line of credit with PNC is structured to provide seasonal credit availability during the Company's peak summer season. Approximately $23.1 million was available for borrowing as of October&#160;31, 2023.  The interest rate for outstanding loan balances during the quarter ended October&#160;31, 2023 was 10.00%. The Company also incurs a fee on the unused portion of the revolving line of credit at a rate of 0.375%. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition to the outstanding debt balance of $3.7 million on the Company's revolving credit line, the Company also carries a mortgage on a manufacturing building in Conway Arkansas. The original note was dated August 2017 for $5.8&#160;million, at a fixed rate of 4% per year and 20 year term.  The outstanding amount under this note was $4.4 million as of October&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 19, 2023, the Company entered into Amendment No. 3 to Amended and Restated Revolving Credit and Security Agreement (&#x201c;Amendment No. 3&#x201d;) with PNC, with an effective date of May 5, 2023. Amendment No. 3 amended the Restated Credit Agreement and the secured revolving line of credit provided to the Company under the revolving credit facility to reflect the following material changes:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;i.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:12.73pt"&gt;Maximum size of the PNC line of credit has been increased to $72.5&#160;million during the months of June through August of 2023, to provide additional availability for the Company&#x2019;s forecast through the 2023 peak borrowing period;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ii.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.96pt"&gt;Increase in the total inventory sublimit under the Credit Agreement to $35.0&#160;million and increase in the Assemble-to-ship (ATS) inventory sublimit to $15.0&#160;million during the months of May through August of 2023; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;iii.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:7.19pt"&gt;The Company agreed to pay an amendment fee of $50,000, which is 0.67% on the incremental line increase of $7.5&#160;million; and&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;iv.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:7.73pt"&gt;Increase in the Applicable Margin (as defined in the Credit Agreement) of 25 basis points.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Management believes that the carrying value of debt approximated fair value at October&#160;31, 2023, as all of the long-term debt bears interest at variable rates based on prevailing market conditions ,except mortgage on a manufacturing building in Conway Arkansas at a fixed rate of 4% per year.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="c-1" id="f-472">&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Outstanding balances for the Company&#x2019;s long-term debt were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:51.823%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.892%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.849%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.892%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.849%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.895%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving credit line&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,744&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-current portion&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LongTermDebt contextRef="c-53" decimals="-3" id="f-473" unitRef="usd">3747000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-54" decimals="-3" id="f-474" unitRef="usd">17122000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-55" decimals="-3" id="f-475" unitRef="usd">12221000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-56" decimals="-3" id="f-476" unitRef="usd">4444000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-57" decimals="-3" id="f-477" unitRef="usd">4622000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-58" decimals="-3" id="f-478" unitRef="usd">4680000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-3" decimals="-3" id="f-479" unitRef="usd">8191000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-4" decimals="-3" id="f-480" unitRef="usd">21744000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-5" decimals="-3" id="f-481" unitRef="usd">16901000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent contextRef="c-3" decimals="-3" id="f-482" unitRef="usd">245000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent contextRef="c-4" decimals="-3" id="f-483" unitRef="usd">7360000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent contextRef="c-5" decimals="-3" id="f-484" unitRef="usd">2457000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-3" decimals="-3" id="f-485" unitRef="usd">7946000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-4" decimals="-3" id="f-486" unitRef="usd">14384000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-5" decimals="-3" id="f-487" unitRef="usd">14444000</us-gaap:LongTermDebtNoncurrent>
    <virc:DividendPayableMaximumAmountInFiscalYear contextRef="c-59" decimals="-5" id="f-488" unitRef="usd">3000000.0</virc:DividendPayableMaximumAmountInFiscalYear>
    <virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio
      contextRef="c-60"
      decimals="INF"
      id="f-489"
      unitRef="number">1.2</virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio>
    <us-gaap:DebtInstrumentFeeAmount contextRef="c-61" decimals="-3" id="f-490" unitRef="usd">50000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-62" decimals="-5" id="f-491" unitRef="usd">65000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <virc:LineOfCreditFacilityBorrowingBaseLimitation contextRef="c-63" decimals="2" id="f-492" unitRef="number">0.85</virc:LineOfCreditFacilityBorrowingBaseLimitation>
    <virc:LineOfCreditFacilityBorrowingBaseLimitation contextRef="c-64" decimals="2" id="f-493" unitRef="number">0.60</virc:LineOfCreditFacilityBorrowingBaseLimitation>
    <virc:LineOfCreditFacilityBorrowingBaseLimitation contextRef="c-65" decimals="2" id="f-494" unitRef="number">0.85</virc:LineOfCreditFacilityBorrowingBaseLimitation>
    <virc:LineOfCreditFacilityBorrowingCapacityTerm contextRef="c-3" decimals="INF" id="f-495" unitRef="usd">15000000.0</virc:LineOfCreditFacilityBorrowingCapacityTerm>
    <us-gaap:LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases contextRef="c-66" decimals="-5" id="f-496" unitRef="usd">2000000</us-gaap:LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-67" decimals="-5" id="f-497" unitRef="usd">10000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <virc:LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear contextRef="c-1" id="f-498">P30D</virc:LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity contextRef="c-68" decimals="-5" id="f-499" unitRef="usd">23100000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod contextRef="c-1" decimals="4" id="f-500" unitRef="number">0.1000</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage contextRef="c-1" decimals="INF" id="f-501" unitRef="number">0.00375</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LongTermDebt contextRef="c-53" decimals="-5" id="f-502" unitRef="usd">3700000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentFaceAmount contextRef="c-69" decimals="-5" id="f-503" unitRef="usd">5800000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="c-69"
      decimals="INF"
      id="f-504"
      unitRef="number">0.04</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm contextRef="c-70" id="f-505">P20Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LongTermDebt contextRef="c-71" decimals="-5" id="f-506" unitRef="usd">4400000</us-gaap:LongTermDebt>
    <us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet contextRef="c-72" decimals="-5" id="f-507" unitRef="usd">72500000</us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet>
    <virc:IncreaseDecreaseInInventorySublimitUnderCreditAgreement contextRef="c-73" decimals="-5" id="f-508" unitRef="usd">35000000</virc:IncreaseDecreaseInInventorySublimitUnderCreditAgreement>
    <virc:IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement contextRef="c-73" decimals="-5" id="f-509" unitRef="usd">15000000</virc:IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement>
    <virc:CreditAgreementAmendmentFee contextRef="c-73" decimals="-3" id="f-510" unitRef="usd">50000</virc:CreditAgreementAmendmentFee>
    <virc:IncrementalCreditLineIncreaseDecreasePercentage contextRef="c-73" decimals="4" id="f-511" unitRef="number">0.0067</virc:IncrementalCreditLineIncreaseDecreasePercentage>
    <virc:IncrementalCreditLineIncreaseDecrease contextRef="c-73" decimals="-5" id="f-512" unitRef="usd">7500000</virc:IncrementalCreditLineIncreaseDecrease>
    <virc:IncreaseDecreaseApplicableMarginBasisPoints
      contextRef="c-73"
      decimals="INF"
      id="f-513"
      unitRef="number">0.0025</virc:IncreaseDecreaseApplicableMarginBasisPoints>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="c-69"
      decimals="INF"
      id="f-514"
      unitRef="number">0.04</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c-1" id="f-515">Income Taxes&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In assessing the realizability of deferred tax assets, the Company considers whether it is more likely than not that some portion or all of its deferred tax assets will not be realized.  The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income or reversal of deferred tax liabilities during the periods in which those temporary differences become deductible. As a part of this evaluation, the Company assesses all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, the availability of tax carry backs, tax-planning strategies, and results of recent operations, to determine whether sufficient future taxable income will be generated to realize existing deferred tax assets.  Valuation allowances of $255,000, $864,000 and $8,893,000 as of October&#160;31, 2023, January&#160;31, 2023 and October&#160;31, 2022, respectively, are needed for federal deferred tax assets and certain state net operating loss carryforwards to reduce the carrying amount of deferred tax assets to an amount that is more likely than not to be realized.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three months ended October&#160;31, 2023 and 2022, the effective income tax rates were 24.5% and 3.9%, respectively.  For the nine months ended October&#160;31, 2023 and 2022, the effective income tax rates were 24.0% and 2.6%, respectively.  The change in effective tax rates for the three and nine months ended October&#160;31, 2023 was primarily due to the change in forecasted mix of income before federal and state income taxes and estimated permanent differences.  The lower effective tax rate for the three and nine months ended October&#160;31, 2022 was primarily due to the recording of a valuation allowance needed for federal deferred tax assets and certain state net operating loss carryforwards. &lt;/span&gt;&lt;/div&gt;The January 31, 2018 and subsequent fiscal years remain open for examination by the IRS and state tax authorities.  The Company is not currently under any state examination.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="c-3" decimals="-3" id="f-516" unitRef="usd">255000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="c-4" decimals="-3" id="f-517" unitRef="usd">864000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="c-5" decimals="-3" id="f-518" unitRef="usd">8893000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-6" decimals="3" id="f-519" unitRef="number">0.245</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-7" decimals="3" id="f-520" unitRef="number">0.039</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-1" decimals="3" id="f-521" unitRef="number">0.240</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-8" decimals="3" id="f-522" unitRef="number">0.026</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EarningsPerShareTextBlock contextRef="c-1" id="f-523">Net Income per Share&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted net income per share:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.726%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.826%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.072%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands, except per share data)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares of common stock outstanding - basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,347&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,277&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive effect of common stock equivalents from equity incentive plans &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares of common stock outstanding - diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income per share - basic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income per share - diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c-1" id="f-524">&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.726%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.826%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.072%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands, except per share data)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares of common stock outstanding - basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,347&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,277&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive effect of common stock equivalents from equity incentive plans &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares of common stock outstanding - diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income per share - basic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income per share - diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-525" unitRef="usd">10160000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-526" unitRef="usd">7875000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-527" unitRef="usd">24252000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-8" decimals="-3" id="f-528" unitRef="usd">12471000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-6" decimals="-3" id="f-529" unitRef="shares">16347000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-6" decimals="-3" id="f-530" unitRef="shares">16347000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-7" decimals="-3" id="f-531" unitRef="shares">16211000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-532" unitRef="shares">16277000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-8" decimals="-3" id="f-533" unitRef="shares">16118000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="c-6" decimals="-3" id="f-534" unitRef="shares">81000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="c-7" decimals="-3" id="f-535" unitRef="shares">38000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="c-1" decimals="-3" id="f-536" unitRef="shares">57000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="c-8" decimals="-3" id="f-537" unitRef="shares">18000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-6" decimals="-3" id="f-538" unitRef="shares">16428000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-7" decimals="-3" id="f-539" unitRef="shares">16249000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-540" unitRef="shares">16334000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-8" decimals="-3" id="f-541" unitRef="shares">16136000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-6"
      decimals="2"
      id="f-542"
      unitRef="usdPerShare">0.62</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-7"
      decimals="2"
      id="f-543"
      unitRef="usdPerShare">0.49</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-1"
      decimals="2"
      id="f-544"
      unitRef="usdPerShare">1.49</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-8"
      decimals="2"
      id="f-545"
      unitRef="usdPerShare">0.77</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-6"
      decimals="2"
      id="f-546"
      unitRef="usdPerShare">0.62</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-7"
      decimals="2"
      id="f-547"
      unitRef="usdPerShare">0.48</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-1"
      decimals="2"
      id="f-548"
      unitRef="usdPerShare">1.48</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-8"
      decimals="2"
      id="f-549"
      unitRef="usdPerShare">0.77</us-gaap:EarningsPerShareDiluted>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="c-1" id="f-550">Stock-Based Compensation &lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Stock Incentive Plan&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the Company's 2019 Omnibus Equity Incentive Plan (the &#x201c;2019 Plan&#x201d;), the Company may grant an aggregate of up to 1.0 million shares to its employees and non-employee directors in the form of restricted stock units, restricted stock awards and stock options.  Restricted stock units and awards granted under the 2019 Plan are expensed ratably over the vesting period of the awards. The Company determines the fair value of its restricted stock units or awards and related compensation expense as the difference between the market value of the units or awards on the date of grant less the exercise price of the units or awards granted.  There were no awards grant and vested during the three-month period ended October 31, 2023. During the nine-month period ended October&#160;31, 2023, the Company granted 70,510 awards, vested 93,600 shares according to their terms and forfeited 0 shares under the 2019 Plan.  As of October&#160;31, 2023, there were approximately 537,925 shares available for future issuance under the 2019 Plan. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the stock-based compensation expense related to restricted stock awards recognized in the Company's statements of operations for the three and nine months ended October&#160;31, 2023 and 2022:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:43.428%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.121%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.559%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.121%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.863%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.121%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.559%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.128%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of goods sold&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;103&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;423&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;As of October&#160;31, 2023, there was $400,000 of unrecognized compensation expense related to unvested restricted stock units and/or awards, which is expected to be recognized over a weighted average period of approximately 1 year.</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-74"
      decimals="INF"
      id="f-551"
      unitRef="shares">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="c-75" decimals="0" id="f-552" unitRef="shares">70510</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-75"
      decimals="INF"
      id="f-553"
      unitRef="shares">93600</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-75"
      decimals="INF"
      id="f-554"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="c-74" decimals="0" id="f-555" unitRef="shares">537925</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="c-1" id="f-556">&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the stock-based compensation expense related to restricted stock awards recognized in the Company's statements of operations for the three and nine months ended October&#160;31, 2023 and 2022:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:43.428%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.121%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.559%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.121%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.863%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.121%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.559%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.128%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of goods sold&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;103&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;423&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-76" decimals="-3" id="f-557" unitRef="usd">28000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-77" decimals="-3" id="f-558" unitRef="usd">28000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-78" decimals="-3" id="f-559" unitRef="usd">84000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-79" decimals="-3" id="f-560" unitRef="usd">120000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-80" decimals="-3" id="f-561" unitRef="usd">143000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-81" decimals="-3" id="f-562" unitRef="usd">75000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-82" decimals="-3" id="f-563" unitRef="usd">339000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-83" decimals="-3" id="f-564" unitRef="usd">389000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-6" decimals="-3" id="f-565" unitRef="usd">171000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-7" decimals="-3" id="f-566" unitRef="usd">103000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-1" decimals="-3" id="f-567" unitRef="usd">423000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1 contextRef="c-8" decimals="-3" id="f-568" unitRef="usd">509000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-84" decimals="-3" id="f-569" unitRef="usd">400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-85" id="f-570">P1Y</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:PostemploymentBenefitsDisclosureTextBlock contextRef="c-8" id="f-571">Retirement Plans&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company and its subsidiaries cover certain employees under a noncontributory defined benefit retirement plan, entitled the Virco Employees&#x2019; Retirement Plan (the &#x201c;Pension Plan&#x201d;). As more fully described in the Annual Report on Form 10-K, benefit accruals under the Employees Retirement Plan were frozen effective December&#160;31, 2003.  There is no service cost incurred under this plan.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also provides a supplementary retirement plan for certain key employees, the VIP Retirement Plan (the &#x201c;VIP Plan&#x201d;).  As more fully described in the Annual Report on Form 10-K for the year ended January&#160;31, 2023, benefit accruals under the VIP Plan were frozen since December&#160;31, 2003.  There is no service cost incurred under the VIP Plan.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the net periodic pension cost for the Pension Plan and the VIP Plan for the three and nine months ended October&#160;31, 2023 and 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.807%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:40.753%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.801%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.547%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.801%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.846%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.801%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.547%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.804%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;826&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;895&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(203)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(237)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(601)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(711)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Plan settlement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of prior service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognized net actuarial loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefit cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;401(k) Retirement Plan&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s retirement plan, which covers all U.S. employees, allows participants to defer from 1% to 75% of their eligible compensation through a 401(k)-retirement program.  The plan includes Virco stock as one of the investment options.  At October&#160;31, 2023 and 2022, the plan held 1,404,774 shares and 1,250,468 shares of Virco stock, respectively.  For the three-month period ended October&#160;31, 2023 and 2022, the compensation costs incurred for employer match, which is paid in the form of Company stock, was $356,000 and $333,000 respectively.  For the nine-month period ended October&#160;31, 2023 and 2022, the compensation costs incurred for employer match, which is paid in the form of Company stock, was $1,078,000 and $985,000 respectively.&lt;/span&gt;&lt;/div&gt;        .</us-gaap:PostemploymentBenefitsDisclosureTextBlock>
    <us-gaap:ScheduleOfDefinedBenefitPlansDisclosuresTextBlock contextRef="c-1" id="f-572">he net periodic pension cost for the Pension Plan and the VIP Plan for the three and nine months ended October&#160;31, 2023 and 2022:&lt;div style="margin-bottom:6pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.807%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:40.753%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.801%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.547%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.801%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.846%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.801%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.547%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.804%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;826&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;895&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(203)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(237)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(601)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(711)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Plan settlement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of prior service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognized net actuarial loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefit cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDefinedBenefitPlansDisclosuresTextBlock>
    <us-gaap:DefinedBenefitPlanServiceCost contextRef="c-86" decimals="-3" id="f-573" unitRef="usd">0</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost contextRef="c-87" decimals="-3" id="f-574" unitRef="usd">0</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost contextRef="c-88" decimals="-3" id="f-575" unitRef="usd">0</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost contextRef="c-89" decimals="-3" id="f-576" unitRef="usd">0</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-86" decimals="-3" id="f-577" unitRef="usd">106000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-87" decimals="-3" id="f-578" unitRef="usd">298000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-88" decimals="-3" id="f-579" unitRef="usd">826000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-89" decimals="-3" id="f-580" unitRef="usd">895000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets contextRef="c-86" decimals="-3" id="f-581" unitRef="usd">203000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets contextRef="c-87" decimals="-3" id="f-582" unitRef="usd">237000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets contextRef="c-88" decimals="-3" id="f-583" unitRef="usd">601000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets contextRef="c-89" decimals="-3" id="f-584" unitRef="usd">711000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement contextRef="c-86" decimals="-3" id="f-585" unitRef="usd">372000</us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement>
    <us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement contextRef="c-87" decimals="-3" id="f-586" unitRef="usd">64000</us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement>
    <us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement contextRef="c-88" decimals="-3" id="f-587" unitRef="usd">372000</us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement>
    <us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement contextRef="c-89" decimals="-3" id="f-588" unitRef="usd">64000</us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit contextRef="c-86" decimals="-3" id="f-589" unitRef="usd">0</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit contextRef="c-87" decimals="-3" id="f-590" unitRef="usd">0</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit contextRef="c-88" decimals="-3" id="f-591" unitRef="usd">0</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit contextRef="c-89" decimals="-3" id="f-592" unitRef="usd">0</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss contextRef="c-86" decimals="-3" id="f-593" unitRef="usd">-26000</virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss>
    <virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss contextRef="c-87" decimals="-3" id="f-594" unitRef="usd">-134000</virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss>
    <virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss contextRef="c-88" decimals="-3" id="f-595" unitRef="usd">-26000</virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss>
    <virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss contextRef="c-89" decimals="-3" id="f-596" unitRef="usd">-402000</virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="c-86" decimals="-3" id="f-597" unitRef="usd">301000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="c-87" decimals="-3" id="f-598" unitRef="usd">259000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="c-88" decimals="-3" id="f-599" unitRef="usd">623000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="c-89" decimals="-3" id="f-600" unitRef="usd">650000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <virc:DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent contextRef="c-90" decimals="2" id="f-601" unitRef="number">0.01</virc:DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="c-90"
      decimals="INF"
      id="f-602"
      unitRef="number">0.75</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <virc:DefinedContributionPlanNumberOfCommonSharesHeld
      contextRef="c-91"
      decimals="INF"
      id="f-603"
      unitRef="shares">1404774</virc:DefinedContributionPlanNumberOfCommonSharesHeld>
    <virc:DefinedContributionPlanNumberOfCommonSharesHeld
      contextRef="c-92"
      decimals="INF"
      id="f-604"
      unitRef="shares">1250468</virc:DefinedContributionPlanNumberOfCommonSharesHeld>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer contextRef="c-93" decimals="-3" id="f-605" unitRef="usd">356000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer contextRef="c-94" decimals="-3" id="f-606" unitRef="usd">333000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer contextRef="c-90" decimals="-3" id="f-607" unitRef="usd">1078000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer contextRef="c-95" decimals="-3" id="f-608" unitRef="usd">985000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:ProductWarrantyDisclosureTextBlock contextRef="c-1" id="f-609">Warranty Accrual&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company provides a warranty against all substantial defects in material and workmanship. The standard warranty offered on products sold through January 31, 2013 is ten years. Effective February 1, 2014 the Company modified its warranty to a limited lifetime warranty. The warranty was effective February 1, 2014, is not anticipated to have a significant effect on warranty expense. Effective January 1, 2017, the Company modified the standard warranty offered on products sold after January 1, 2017 to provide specific warranty periods by product component, with no warranty period longer than ten years. The Company&#x2019;s warranty is not a guarantee of service life, which depends upon events outside the Company&#x2019;s control and may be different from the warranty period. The Company accrues an estimate of its exposure to warranty claims based upon both product sales data and an analysis of actual warranty claims incurred.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a summary of the Company&#x2019;s warranty-claim activity for the three and nine months ended October&#160;31, 2023 and 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:38.338%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.671%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.538%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.671%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.390%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.375%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.390%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.527%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs incurred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(54)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(56)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(156)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ProductWarrantyDisclosureTextBlock>
    <virc:ProductWarranty contextRef="c-96" id="f-610">P10Y</virc:ProductWarranty>
    <virc:ProductWarranty contextRef="c-96" id="f-611">P10Y</virc:ProductWarranty>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="c-1" id="f-612">&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a summary of the Company&#x2019;s warranty-claim activity for the three and nine months ended October&#160;31, 2023 and 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:38.338%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.671%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.538%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.671%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.390%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.375%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.390%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.527%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;10/31/2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs incurred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(54)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(56)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(156)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual contextRef="c-14" decimals="-3" id="f-613" unitRef="usd">600000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual contextRef="c-27" decimals="-3" id="f-614" unitRef="usd">650000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual contextRef="c-4" decimals="-3" id="f-615" unitRef="usd">600000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual contextRef="c-9" decimals="-3" id="f-616" unitRef="usd">600000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued contextRef="c-6" decimals="-3" id="f-617" unitRef="usd">54000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued contextRef="c-7" decimals="-3" id="f-618" unitRef="usd">106000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued contextRef="c-1" decimals="-3" id="f-619" unitRef="usd">145000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued contextRef="c-8" decimals="-3" id="f-620" unitRef="usd">256000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyExpense contextRef="c-6" decimals="-3" id="f-621" unitRef="usd">54000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense contextRef="c-7" decimals="-3" id="f-622" unitRef="usd">56000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense contextRef="c-1" decimals="-3" id="f-623" unitRef="usd">145000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense contextRef="c-8" decimals="-3" id="f-624" unitRef="usd">156000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyAccrual contextRef="c-3" decimals="-3" id="f-625" unitRef="usd">600000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual contextRef="c-5" decimals="-3" id="f-626" unitRef="usd">700000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual contextRef="c-3" decimals="-3" id="f-627" unitRef="usd">600000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual contextRef="c-5" decimals="-3" id="f-628" unitRef="usd">700000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:LossContingencyDisclosures contextRef="c-1" id="f-629">Contingencies&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has a self-insured retention for product losses up to $250,000 per occurrence, workers&#x2019; compensation liability losses up to $250,000 per occurrence, general liability losses up to $50,000 per occurrence and automobile liability losses up to &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$50,000 per occurrence. The Company has purchased insurance to cover losses in excess of the self-insurance retention or deductible up to a limit of $30,000,000. The Company has obtained an actuarial estimate of its total expected future losses for liability claims and recorded a liability equal to the net present value.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company and its subsidiaries are defendants in various legal proceedings resulting from operations in the normal course of business. It is the opinion of management, in consultation with legal counsel, that the ultimate outcome of all such matters will not materially affect the Company&#x2019;s financial position, results of operations or cash flows.&lt;/span&gt;&lt;/div&gt;</us-gaap:LossContingencyDisclosures>
    <virc:SelfInsuranceRetention contextRef="c-97" decimals="INF" id="f-630" unitRef="usd">250000</virc:SelfInsuranceRetention>
    <virc:SelfInsuranceRetention contextRef="c-98" decimals="INF" id="f-631" unitRef="usd">250000</virc:SelfInsuranceRetention>
    <virc:SelfInsuranceRetention contextRef="c-99" decimals="INF" id="f-632" unitRef="usd">50000</virc:SelfInsuranceRetention>
    <virc:SelfInsuranceRetention contextRef="c-100" decimals="INF" id="f-633" unitRef="usd">50000</virc:SelfInsuranceRetention>
    <virc:SelfInsuranceRetention contextRef="c-101" decimals="INF" id="f-634" unitRef="usd">30000000</virc:SelfInsuranceRetention>
    <virc:DeliveryCostsTextBlock contextRef="c-1" id="f-635">Delivery Costs&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three months ended October&#160;31, 2023 and 2022, shipping and classroom delivery costs of approximately $8,634,000 and $8,393,000, respectively, were included in selling, general and administrative expenses in the accompanying condensed consolidated statements of operations.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the nine months ended October&#160;31, 2023 and 2022, shipping and classroom delivery costs of approximately $21,968,000 and $18,776,000, respectively, were included in selling, general and administrative expenses in the accompanying condensed consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</virc:DeliveryCostsTextBlock>
    <virc:ShippingAndClassroomDeliveryCosts contextRef="c-6" decimals="0" id="f-636" unitRef="usd">8634000</virc:ShippingAndClassroomDeliveryCosts>
    <virc:ShippingAndClassroomDeliveryCosts contextRef="c-7" decimals="0" id="f-637" unitRef="usd">8393000</virc:ShippingAndClassroomDeliveryCosts>
    <virc:ShippingAndClassroomDeliveryCosts contextRef="c-1" decimals="0" id="f-638" unitRef="usd">21968000</virc:ShippingAndClassroomDeliveryCosts>
    <virc:ShippingAndClassroomDeliveryCosts contextRef="c-8" decimals="0" id="f-639" unitRef="usd">18776000</virc:ShippingAndClassroomDeliveryCosts>
    <us-gaap:SubsequentEventsTextBlock contextRef="c-1" id="f-640">Subsequent Events&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December&#160;5, 2023, the Company&#x2019;s Board of Directors declared a cash dividend for the Company&#x2019;s fourth fiscal quarter of $0.02 on each outstanding share of common stock. The dividend is payable on January&#160;10, 2024 &lt;/span&gt;&lt;span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;to stockholders of record of the common stock as of the close of business on &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;22, 2023. &lt;/span&gt;&lt;span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;While the Company &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;intends to pay future dividends on a quarterly basis, following review and approval by the Board of Directors, &lt;/span&gt;&lt;span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the declaration and payment of future dividends, as well as the amounts thereof, are subject to the discretion of the Board as well as restrictive covenants in the Company&#x2019;s lending agreements. There can be no assurance that the Company will declare and pay dividends in future periods.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, the Board of Directors has authorized &lt;/span&gt;&lt;span style="color:#404040;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the repurchase of up to&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; $5,000,000 &lt;/span&gt;&lt;span style="color:#404040;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;of the Company&#x2019;s common stock.  Repurchases may be made at management&#x2019;s discretion from time to time &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#1f1f1f;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;through open market purchases, in privately negotiated transactions, or by other means, including through the use of trading plans intended to qualify under Rule 10b5-1 under the Securities Exchange Act of 1934, as amended, in accordance with applicable securities laws and other restrictions. The timing and total amount of stock repurchases will depend upon business, economic and market conditions, corporate, legal and regulatory requirements, prevailing stock prices, trading volume, and other considerations. &lt;/span&gt;&lt;span style="color:#404040;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The repurchase program has no time limit and may be suspended for periods or discontinued at any time.  &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#1f1f1f;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company expects to utilize its existing cash and cash equivalents to fund repurchases under the share repurchase program&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="c-102"
      decimals="2"
      id="f-641"
      unitRef="usdPerShare">0.02</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased contextRef="c-102" decimals="0" id="f-642" unitRef="shares">5000000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>56
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( *5QB%<'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " "E<8A7]\ZW*^\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M:L,P#(=?9?B>*$[8/Y/FLM+3!H,5-G8SMMJ:Q;&Q-9*^_1RO31G; ^QHZ>=/
MGT"M\D*Y@,_!>0QD,%Y-MA^B4'[%#D1> $1U0"MCF1)#:NY<L)+2,^S!2_4A
M]PAU5=V 19):DH096/B%R+I6*Z$"2G+AA-=JP?O/T&>85H ]6APH B\YL&Z>
MZ(]3W\(%,,,(@XW?!=0+,5?_Q.8.L%-RBF9)C>-8CDW.I1TXO#T]ON1U"S-$
MDH/"]"L:04>/*W:>_-H\K+<;UM55W12\+JJ[+;\7O!;7M^^SZP^_B[!UVNS,
M/S8^"W8M_+J+[@M02P,$%     @ I7&(5YE<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
M+@9WE.L;Y7_$Y6-:5#KIW.BF^%V@;93M)>WV0<E=<VWY02HE\^;C5L1ZO=8
M_?M&ZO2@>ZAO0A^ORB__!U!+ P04    " "E<8A7!V@8\B0#   R#   &
M 'AL+W=O<FMS:&5E=',O<VAE970S+GAM;*U77V_:,!S\*E8V39W4D;\0Z"!2
M2U1MDZ:AHFX/TQ[<Q!"KCIW9#G3[]+.=-",TA5"5!V([=V??.;]@IEO&[T6&
MD 0/.:%B9F52%A>V+9(,Y5 ,6(&HNK-B/(=2=?G:%@5',#6DG-B>XXSL'&)J
M15,SMN#1E)628(H6'(@RSR'_<X4(V\XLUWH<N,'K3.H!.YH6<(V62-X6"ZYZ
M=J.2XAQ1@1D%'*UFUJ5[$;N.)AC$=XRV8J<-M)4[QNYUYW,ZLQR](D10(K4$
M5)<-FB-"M)):Q^]:U&KFU,3=]J/ZM3&OS-Q!@>:,_,"IS&;6V (I6L&2R!NV
M_81J0T.MES BS#?85M@PM$!2"LGRFJQ6D&-:7>%#'<0.P0V>(7@UP>M+\&N"
MWY<0U(3 )%-9,3G$4,)HRMD6<(U6:KIAPC1L91]3O>]+R=5=K'@RNJ6P3+%$
M*9@SFJK]K%J"$9Q"/7P%":0) DL]A0!G"\@1E1F2.('D/?@ W@(;B$R-BJDM
MU8JTKIW4LU]5LWO/S/XMD0/@N^? <SR_@SX_3/\"Z4%ZW']VKTVW58Q-EEZ3
MI6?T_&?TEE(EIFI" K8"UYBJW# D8,$$-L_XS\L[(;EZTG]U)55I!]W:NOPO
M1 $3-+-4?0O$-\B*WKUQ1\['KMQ>4RQ^);%6IGZ3J7](/5JHUP#B7#V(JA22
M^_/Z40.PE!GC^*^Z<58-O>\*M1(?&G']"MQ$OF,^4WNSFU=/7'P<UW(9-"Z#
MTUP6D(,-)"4"9Z5(08%X9;S39*4=[BS*&3CNGL,^H/@(J.5MV'@;OF@'L1#E
MD=T;/DE[?]^.(N)#B):?4>-G]"(_ZD=52$A33-<'38V.FCJ*B \A6J;"QE1X
MT-2<Y;EZ0[VHQL(GB_&&G476%QCW +9<CAN7XQ-<GE1CXSXUU@<4'P&UC$T:
M8Y/3MZ]'@4V>!.V._"#TW6#/61?0<YW)>+CGK@>PY=!U_A]4G-,]]BVZ6KN'
MTTYDI]4^R,JKO7,^TZ?IKY"O,16 H)6B.H-0:?#J@%IU)"O,D>V.274 -,U,
M'>H1UP!U?\68?.SH4V#S-R'Z!U!+ P04    " "E<8A7WN3OFY$%  !J&
M&    'AL+W=O<FMS:&5E=',O<VAE970T+GAM;*U937/;-A#]*Q@UTTEFDH@
MOUU;,['$M#FD\<1U<^CT0(N0Q E)J 1DN_WU79 4*0$KQFGE@T5";Q=XBUW@
M ;I\%/57N>%<D:>RJ.359*/4]F(ZE<L-+U/Y5FQY!=^L1%VF"E[K]51N:YYF
MC5%93)GC!-,RS:O)[+)INZEGEV*GBKSB-S61N[),Z[^O>2$>KR9TLF_XG*\W
M2C=,9Y?;=,UON;K;WM3P-NV]9'G)*YF+BM1\=35Y1R\2YFB#!O%[SA_EP3/1
M5.Z%^*I?/F17$T>/B!=\J;2+%#X>^)P7A?8$X_BK<SKI^]2&A\][[^\;\D#F
M/I5\+HHO>:8V5Y-H0C*^2G>%^BP>?^$=(5_[6XI"-O_)8X=U)F2YDTJ4G3&,
MH,RK]C-]Z@)Q8 !^< /6&3#3P#MAX'8&[G-[\#H#[[D]^)U!0WW:<F\"MTA5
M.KNLQ2.I-1J\Z8<F^HTUQ"NO=*+<JAJ^S<%.S>ZJ=)?EBF=D+JH,$J!]DJ+(
MLU0WWRKX@,Q0DH@5^5 M1<G)&W)WNR O7[PB<I/67)*\(K]MQ$ZF529?DQ='
M[Y=3!0/5W4V7W:"NVT&Q$X-RR4=1J8TD"0PI0^P7X_;QB/T4 M1'B>VC=,U&
M'7Y:JK?$I:\)<YB+C&?^?'.&T?E_O2?_N?>C8+A]RKB-/_>$ORX'^L0@?[R[
MEZJ&DO\3F^K6F8<[T^O@A=RF2WXU@85.\OJ!3V8__D #YR<LSN=TMCBGL^1,
MSHYFQ.MGQ!OS/OL5-A29%APMM=8T:$SUMO$PBSSF0R(\' ;61H6A&_O'J(6-
M8BSP:7 ,2VP8C1D+!]@12[]GZ8^RG O9+D)K(3))8(G"EH;KUHE_T+D7.!XU
M^&*H@$8&7QM%@2\SPI(@,!K'7HCS#7J^P2C?GVLA)=G68I4KC&A@]>I&C)I$
M$903AJ%!U$;%\&?X2FQ4R%P6XS3#GF8X2O,61$)>K5^3-:]XG18$]@R29K#7
MY7I5T3J"\*>MWIK0_ ZM03'7=XPIFB,H&EMAL%&![WJN$08;Y8=.?"(,41^&
M:#0,G[9<DZW6L'?J]16C&MEYYH6.47US&Q5%CF,PM4&N%WA&_B=(ASYS'9QI
MW#.-1YG>5:!HB_P?$!<OUR!E7Y%")SJHQKQZX%(U>PH("%6#_ $EN12["BV
MV!Y=: ;#QKQAS P& O*L6-B@R,<#09U!?#FCH;CI%'>7WZA2<I "-HL< 3$_
M-E@BH("9N8V!_!,33@]$)AWE^:%2'+8]-4J4VJM+8)8Q O(#LXH1$/,#QV1J
MHV@0LQ-4V4"5?8-JHX[N.1SB>%?+1*5/^.+5.3L:A"Y$D[8-BVCLF;QME$MC
M:DTQTB>+'/<$\T$6TE&-LV<.7$>GV;4'Z3H6801%K82V02%LXB9=K,-3TSPH
M+OIMR75ZH::( G*HF8)S!!9&H2FZ$!2S%5R"]<F\D)Y@.J@NZH_*_8$I@2V*
MP$,)*U9S[KM N8^JN.\5_&?UMCBKM^1<WHXG9I"'=%P?7J<R7Y*7.YDU$]/,
MR"MT1EH_X4%F.&\#\P2 HCRKYFP4M5 )ZBL\H8?IH!3IN%1<Y,5.WTD\AW/X
M+,X8RMSY%PB*6J@$]762\R +:31:?E^:JRX@G3Z 0%SS_8T+G(/VI:C$\BL1
M.R452&=0D'A9CLK/[R[+<WI;G-5;<BYOQQ,VJ%LZ+F^[LFRG"<]-1+@&KA>:
MR8G!K /> H>91YL$A=&#$^_QQ=@@8=FXA.UK<H0PLT4E#3QF5- <A3%K"4)A
MKFM(B 2%4=>\A)@>W)V6O%XWE]:2-(>.]DZL;^TOQM\UU\%&^S6]F%.D?4$O
MDO;:>W#?WL)_3.MU7DE2\!5T!8L%C+5N+[;;%R6VS<WMO5!*E,WCAJ<9KS4
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
MQ<_*B!>V2X07%"=1'[@K%B?3V0#RCC%)F#%_?^E0XX7N<B A9.KXW!7#<3+
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
MF*.&S-'W1',$RN:@:C-0M1!4C4*IR8.@ 70$0.A(1UPQE6LW!RBB@ZJ%G:Z
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
MCM*7SQ.P\>04%]XTX;2R,I[./N&RHFF E@/H^=J0Z-V""PS'U_F_4$L#!!0
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
M=CN7[Q-PC8<U&[)5](VE)7:AN"S8]M&% 'Z_LI8.FY"@_2,9_P502P,$%
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
M:Y7K[O-Q=WP-77:/@ ?Q[BGUF9DMY@=*M(1J>K*<1V2ZYTGWX703G@0;[?#
M"$L_@KGQ C@OM7;#AW<POA'7_P%02P,$%     @ I7&(5^NF#L"Q!P  *!,
M !D   !X;"]W;W)K<VAE971S+W-H965T,30N>&ULO5A;;^.X%?XKA'>[G0".
M;[(=YPIDLKOH%#O-(+.7AZ(/M$3;Q$BBAJ3BN+^^WSFD9"MV\M@'6Q+)<__.
M1;K9&OO-;93RXJ7(2W?;VWA?70V'+MVH0KJ!J52)G96QA?1XM.NAJZR2&1,5
M^7 R&LV'A=1E[^Z&U[[8NQM3^UR7ZHL5KBX*:7<?56ZVM[UQKUEXTNN-IX7A
MW4TEU^JK\G]47RR>ABV73!>J=-J4PJK5;>]^?/5Q2N?YP)]:;=W!O2!+EL9\
MHX=/V6UO1 JI7*6>.$A<GM6#RG-B!#6^1YZ]5B01'MXWW']EVV'+4CKU8/*_
M=.8WM[U%3V1J)>O</YGM/U2T9T;\4I,[_A?;<':,PVGMO"DB,30H=!FN\B7Z
MX8!@,7J#8!())JQW$,1:_BR]O+NQ9BLLG08WNF%3F1K*Z9*"\M5;[&K0^;O?
M%$QR-T,/7K0R3"/=QT W>8/N4GPVI=\X\4N9J:Q+/X0.K2*31I&/DW<9/J9^
M())Q7TQ&D^0=?DEK6,+\DG<-$_^^7SIO$?O_G+(QL)B>9D'Y<.4JF:K;'@#O
ME'U6O;N??AC/1]?O*#AM%9R^Q_T=S[]+=UJK:.WO&R4>3%')<B<VT@GDKI5>
MEVN1AP.<23(7E:4MO^L+];W6%;+,]X4L,R%K(,XL=:X<]EXJ;8E:>O$LK3:U
M$YGTX.,WUM3K#05K/NB(S917%D#%(;T"2R&ME>5:D0BAG9!!%6*IRU15(3=)
MLH."I&.:XU:O="IYSZP@3>VI4E. 5\H,!^(^SYL348.??EA,QA?7KC%96M6R
M5"3FR"M= VK']BFABRK7J?8"AY78;A3[+M/YWDBYS%5?&!O.EZEEK>#?I;&
M XD@XH%XK.T[^^07Y;Q&D8&&W@A9(4 O_!Q90QY.A-/D,+@AS_%@9:[_"R)4
M)C#9:K\13A<ZE] )*CIV;25W)-?!-A+96.HJE9*?!?3*8&<LZQUW=+T9><*2
MO,Z@"$?/D<;JQ2M(,D$L/!,U#V2FA-/8@YI! #G.D/=V(@4,T3MP&+'=PL\:
M$54ORJ::Y-%J$#,0#'(")7J"$FA(PL"M1QAG_JE9E^P8=A:5 "K/YY1,T5?F
M6=D#%4GMP5$" ;^O^+-<#5^FQE8FQ&,%)RKV="'+>H5J4X>TP4JF(5PO:\8R
MMG2N_4[D)N58P_#?#25("AP]();@7FK91^FW%B$CMU%,)4RB%KM7@_1MT_"^
MLCJG9)QU3/C[_R]LIR-VZ,X8G;;>B!J=P\*RV;G8*7D4R,/"<1P84C)(H?1?
MUCNBHT4J(X@.E* G-NZP@$"&-AEM2Q1!"ALKG!FH5AHDF'+HYX(MVTM<*D[5
M8_/!.UK>R&],_P3<9<@J//0[O*(?O*W3;^YUS8U..<(T*]G$KQ&^RFEJ ^1D
M+*\!@50L2D*4H.8 $Y'1#WM]6U\0A$M>!=+4%E4),*AJFVXX]A$DQ--2T%!&
M8QWA%&@ZB/#R185CNG0U0[D;+DI&FS50;-+WS;RD&8O3EA0E#:E[U] N!C#6
MLF,9G/ !&=P82VI:>:T:HU<UTK+! 741[4-5/)WGN99+3M;8&"GAP;8R9<9@
M8+W-ZKQV$73B Q7+R>CZZ?&/L,+/X^NSOBBQ36I08!"G'+,P.8JL"$MH-A85
M*2K$/L]#-WA-P@TM^#2T,ZH-61V&7*0TF=IJT/42S\*QPZ2IJ6,H(QI"H8$C
M8!HJ01Y*#+0>3T01ACT^[%R3,YPQ#8CD:^R0;FYCK#]G1DVOO8]9 8O@VO0D
M,,D7.@NUE@8/ZK/OH*^_AUX(%D67%$#&=A*B 0].87\M#&3:MZ'4BNY U[$&
MH'2MOK%<Q.*"/*7JG9VNQ7)M58SS:P]".K5\",VI$.F,8!\PO*XE[/-*<1 .
M3Z&[\)L-V#PS5J(]WVO<:R]Y3Y?A_2V\2JVE90Q3^]PW34F&$<S<%1A R<Z(
M+_Y%*=I9&8^&R7A(\_K^=O+&ZH=/Y"(,D @/3Y8T^AVVLM@K RJIK9Z)QU<9
MF1I,0#^*<7]RL0C7!5V3_F(2KI>C1'Q]A;A -1Y?XI>(9'0A)HM+\;5>AEW$
MRA1*?!B/SN)?TOS]V8T^\YG,8.!<S"\2,9M>H'?[MC"UVLV32[Y.(>M',>U?
ML+:XCB[%(P'NQ,BR#\\5Q@"W 5)UQC@#4&O"2BS^68.U I1UF"<I>;HU2X,G
MB4RFLW =S<734<$"E)8$O, 4(=E0OV6IZ <G62;S*3&<7XJ_^'U79><2<Q0:
MT.D!Y0-U=G<FQH.9F RFQU2=D(OY()F+O]%EBLMGL"OJHENXVUF6Y[]C1PJU
M6J'*\9R_$GBK-$MXO'FQ['/U/$3Z'F1AO/PU3O,\DJA0Z_^)J4[:'7/I /E,
M/+560QHD3$/H@0V:QL0,V)SQ6Q)69W >;B_$@BX+P;/UY)JR%85J!8>U2WNV
M2YESZ6ICW#I@T5],I\=X/PS8K#^=S\1O*'5OG9CT+Y.D@^/#W44_N5R(GS5<
M:NF="X.0WRK,@QA38N  GI0 NR)W=K*XNP/43.?BU'OS\.#K1:'LFK_1T' "
M'N%#1KO:?@:Z#U\_]L?#-Z3/TJ)U4:5=@70TN)CU0J-N'KRI^%O(TGC,7'R[
MP3N/LG0 ^RMC?/-  MJ/8W?_ U!+ P04    " "E<8A7/:2'FK +  "''@
M&0   'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6R=6=MRVS@2_164QIEQJA2)
MNMAR;JY2DMW:F=I)4LGL[,/6/D D)&%, @P!2M%^_9YN@!<ILIW*BTU2;/3]
M] 'X:F^K.[=5RHNO16[<Z\'6^_+%>.S2K2JD&]E2&?RRME4A/6ZKS=B5E9(9
M"Q7Y>)HDU^-":C.X?<7//E:WKVSM<VW4QTJXNBAD=7BC<KM_/9@,F@>?]&;K
MZ<'X]E4I-^JS\O\J/U:X&[>K9+I0QFEK1*76KP?+R8LW<WJ?7_A3J[WK70OR
M9&7M'=W\FKT>)&20RE7J:06)?SOU5N4Y+00SOL0U!ZU*$NQ?-ZO_G7V'+ROI
MU%N;_UMG?OMZ<#,0F5K+.O>?[/X?*OIS1>NE-G?\5^S#N]/%0*2U\[:(PK"@
MT";\EU]C''H"-\D] M,H,&6[@R*V\IWT\O959?>BHK>Q&EVPJRP-X[2AI'SV
M%7[5D/.W[]3*OQI[K$3WXS1*O0E2TWNDGHO?K?%;)_YF,I4=RX]A06O&M#'C
MS?3!!3^D?B1FDZ&8)M/9 ^O-6K=FO-[L ;?$.^W2W+JZ4N(_RY7S%4K@O^><
M#6O-SZ]%;?'"E3)5KP>H>Z>JG1K<_OS3Y#IY^8"E\];2^4.KWYN QZ7$A]H[
M+TVFS0:5F4N3*B?0I\)OE7AKBU*:P\\_W4PGBY=.Y-9LGGE5%:A9R.X5HB+I
M]1Q]Z5Z(23*>3<84?C'IKIJ'4W'YJ\&ZMG90Z)Z*3VIG\QUI3BN5:2_(0G$A
M9L/%?('_D\5P BE<3(?3Z41\@$V5F _G\SG^7N,G_+U)Q!_6RSR8=#.</)^(
MZ00KS,7D>O@\F8A_*N?0!E6EC!>EK;B3I_,KL1C.KA,Q'<ZO%N*]-<].W[G
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
M9PV5?4#WA91F?; .^@_E[ ]02P,$%     @ I7&(5]%3I/6!!   U0H  !D
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
M9N<7TX1L_YKH?[QIXPV.6L)[($YK/,#8!@'L5\;X_4\P,#SIEO\"4$L#!!0
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
M5MMRVS80_16,DLF3*E&RG:NM&3M)I\E,)AZ[;1XZ?8#()8D:!&A<)"M?W[,
M12NIXTD?)-ZP9_?LGEW@=&O=C6^)@KCKM/%GDS:$_O5\[LN6.NEGMB>#+[5U
MG0QX=,W<]XYDE8PZ/5\6Q?-Y)Y69K$[3NTNW.K4Q:&7HT@D?NTZZW05INSV;
M+";[%U>J:0._F*].>]G0-84_^DN'I_F(4JF.C%?6"$?UV>1\\?KBF->G!7\J
MVOJ#>\%,UM;>\,.'ZFQ2<$"DJ0R,(''9T%O2FH$0QNV .1E=LN'A_1[]U\0=
M7-;2TUNKOZ@JM&>3EQ-142VC#E=V^QL-?$X8K[3:IW^QS6N7KR:BC#[8;C!&
M!)TR^2KOACP<&+PL?F"P' R6*>[L*$7Y3@:Y.G5V*QRO!AK?)*K)&L$IPT6Y
M#@Y?%>S"ZCJN/=U&,D&\W^#?G\X#8/GCO!P@+C+$\@<0K\0G:T+KQ7M34?6M
M_1SAC#$M]S%=+!\%_%R&F3A:3,6R6!X]@G<T<CQ*>$<_RU'\=;[VP4$1?S]$
M-Z,=/XS&7?+:][*DLPG:P)/;T&3U[,GB>?'FD5B/QUB/'T/_N7K\3PCQV8AW
M5%*W)B=.<EJG(K0DWMJNEV;W[,G+Y>+%&R\NK'25L+5XIQS:QCH/A9=:.JJ$
M%*7TK:C41E5D*H&!\"!&;:,+K:B5+Z46MU&Z +? ?%K,BJ5 )Y(L6X$!X8,T
ME3*-\"T\\)+2=AT60/7ES4S\#O31G?*BESNYUL00'Z4!\$XLBD3G6 2;K5JK
M*T+8  ,#F]EPF(?00OKQM;8^N5Y'CSQZS^ACLI;+G*V9^-(J>#[@*Y0)B,NS
M9P0FZABBNX\WX<@]?;WCT:'\%-G1F(-,VM&&AQ92(&3?.[M!MM:[Y.*_9<CE
MRK60>9S!#GX[+C-6?N]^RARW&'9\95O9V<A:P+TC6^,[EONX_@<.F$/"1\T<
M)?@A/3F2 R@H/CB51BE2"GE)!E7F02EHRO65C2/B2'TJ*AR7TH@U"6.!Z:.3
MIN3DRO!-AK<*/@?][?D>)!A.!]8].64K@'] 7JI*,8/I#S(I6K"0,;36J:^0
M-:]RU$=7XD-20NPY'T]/ID51\&^?B^_9?2O6JQ'#8S[OF%TG*\0=<#78WYC_
M:'N0Z=K93@1L=*D*Z=HZ&QNT"'9>&+L;[,TC^)1Y]TYM9"#(RE!C@\(]F""-
M7J;-#JO0G5"3Y7*+CJ1)AJ6.J2![#TPK9M:P3I]ZC;6#N!G4LH:UJG<BXH43
M5Q%]L"C6)[\LAC<,<DUE=,@[R+^_0Z"F(7%>)F4N7AT=)S7*+D$F K+DWDQE
MWRI,"W2 5F7J;G\/I>76I\)G&J/V0#!/!Z0KZ<MPH $-E%7.;G.CNX.J#'+J
M>9K$'IG?M_Q48%(8VZDR(0T9QZNL)'Q'L+U%X]$4FF[8#]8Y:J*6T-0.M[<1
M DL2GZ(ZM)%*I\F6HD"Y2J[</L<;JV,'K'MJ<.8AZ]S; [D#56(\-$YV2;MF
M4(D&]S $G.3FH^]ST7@T#SW!.F"Q88=6)O(89YM=@LAN]MU&=STZ),VS&!#]
M5Q(*CW2G?."@T_1G=^F&"6-BI>T%%G5,";E/]KTT\G!_@,SLH>UR?G"4Z<@U
MZ<#&O8:RYE/-^'8\$Y[GH]#]\GR@_"1=HPQ/H1JFQ>S%R42X?$C+#\'VZ6"T
MM@''K'3;XEQ+CA?@>VUMV#^P@_&DO/H74$L#!!0    ( *5QB%><"U3(S@(
M  0&   9    >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;(54;4_;,!#^*Z>
M$$@1>>T+I8U$86A,0D/ QH=I']SDVE@X=F<[%/[]SDD;RE2Z+_7Y_#R/GZMS
M-UXI_6Q*1 NOE9!FXI76+D=!8/(2*V9.U1(EG<R5KIBEK5X$9JF1%0VI$D$<
MAOV@8EQZV;C)W>ELK&HKN,0[#::N*J;?IBC4:N)%WB9QSQ>E=8D@&R_9 A_0
M_EC>:=H%G4K!*Y2&*PD:YQ/O(AI-4X=O #\YKLQ6#*Z2F5+/;G-33+S0&4*!
MN74*C)87O$0AG!#9^+/6]+HK'7$[WJA?-[53+3-F\%*))U[8<N(-/2APSFIA
M[]7J*Z[KZ3F]7 G3_,*JQ2:Q!WEMK*K69')0<=FN['7]/VP1AN$GA'A-B!O?
M[46-RRMF63;6:@7:H4G-!4VI#9O,<>D>Y<%J.N7$L]F-?$%IE>9HX/B1S02:
MDW%@2=F=!_E:9=JJQ)^HG,&MDK8T\$466'SD!^2HLQ5O;$WCO8+?<WL*2>1#
M',;)'KVD*S-I])+_E/D&5]SD0IE:(_RZF!FKZ;OXO:OB5C#=+>AZ9626+,>)
M1\U@4+^@EQT=1/WP?(_=M+.;[E//'JCWBEH@J#ETUG>9W"NSV^1CB3!7@KJ1
MRP58]^30G$IK@,&,6ONY4"OI[K:$O535DLFWHX-A' W.#?"M+X89AZ+'4C/4
MW7OY\(W)FEJ\RP"3Q;^P> 11&"11T "B]VB3C.'X1I(%51NBFQ.XYI+3EU[
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
M/0=4VU7:A9%54\ES::@O-&9.C1B5=:#SA91FN[ !NM:>_ -02P,$%     @
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
MHZ[6AG*8<U)@K&-<*$4*C1(YO(6DMQMZ;1KB)((9-2HZW!84*$F;\!193BV
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
M >CY.>?JM6/J_O"_(/L+4$L#!!0    ( *5QB%<SV>R?.@0  ,@0   9
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
M !WC?6F6<3K"$H<#SM:(ZVC%I@?FN Q:&9Q1?;'N)5=?,X63X36-60[H ;^
M0.<12)P1<8$^HL?[")V?7: SE%'TD+)"8)J(@2V5J(;:<24P*@7<5P0\=,.H
M3 6:T 22!GQT&-\[@+=5LG7&[B;CD7N0\&LL6\AK?T"NXWH-^QD?#W>;TGF;
M^N1MZM/#\"^8OJ:^XZ57WQ[/\'G_O#THRD1,F"@XH.^7,R&Y>C-^-%V7DM%O
M9M3O:%\L<0Q#2SV4 O@*K/#]NW;'^=QT5J<DBTY)-CDEV?1$9#MG[-=G[!]B
M#Y\P*7!9!8@J0YC&T'2L)4G'D.AJM@K=(!C8J^W3^CNFV^UYNT'1$4238XBF
M#4$=OX[9\2*HO0@.>C&9S\&40B35E>=8-EI1<O2VA)V6Z^^;T13E>+T]-\JH
M[A[7GAV-5&YGSX^#J?WO);*W2DX.?&&: X%B5E!9OA_U:MU_7)JRN[<^:O?'
M[8;UJ-V?E.W%'_JRV;G!?)%1@0C,E933^J02XV4#44XD6YJ"-V-2E4\S3%7/
M!5P'J.]SQN1FH@7J+B[\#5!+ P04    " "E<8A7WVV<$;L#   C#0  &0
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
M"D@ +#60WR\H%:\G:8#R;8S)OU!+ P04    " "E<8A7\06O=:8#  !&#0
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
M">"-W65&U#ZA!GW\K%"G)$MKLLN*S+XL'Q+OPO,G[L.A "?RV!$@;@6(AP7
MCR<08-#'SPIP2K(T[A%@'!\)<"*/'0%&K0"C00$^EO85AL3:U)XQ,[2H ALO
MJ #:]_J9U6SQ04)^Y$7C<=3-:=YC%\1>-+KLVJ4OY%O\-U\G_7&;_G@P_7FG
MX59/^WZ3?;G75*.#&,)X=)1WCTT8'N7\HXWOC8\*L_C1Z.UE?)2L>S#R,)";
M:M941LF2Z_JMUIZVX^S[:HH[.I_Y5W._YSPUXV\]K7ZGKV?G:RPWQ)2,PMJX
MLDWM(%G/H_5&BVTU<*V$-N-;M2S," _2&IC[M1!ZO[$.VC\%R;]02P,$%
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
M?V@WK>J3;-TQ<N)/CWUI;%G[YMB>_D&Y"?;Y4$KSW'$'TN;_1/$/4$L#!!0
M   ( *5QB%=+RI.HG (  - '   9    >&PO=V]R:W-H965T<R]S:&5E=#0T
M+GAM;*U5VV[;, S]%<$;AA;8XFO3-',,-'&&]:%8T:#;P[ 'Q69BH;+D2<JE
M?S])=KRT<8)BZXLMT><<BJ1%QALN'F4!H-"VI$R.G$*I:NBZ,BN@Q++'*V#Z
MRX*+$BN]%4M75@)P;DDE=0//Z[LE)LQ)8FN[$TG,5XH2!G<"R5598O$T!LHW
M(\=W=H9[LBR4,;A)7.$ES$ ]5'="[]Q6)2<E,$DX0P(6(^?:'TXC@[> [P0V
M<F^-3"1SSA_-YB8?.9XY$%#(E%' ^K6&"5!JA/0Q?C>:3NO2$/?7._4O-G8=
MRQQ+F'#Z@^2J&#D#!^6PP"NJ[OGF*S3Q7!B]C%-IGVA38T,-SE92\;(AZQ.4
MA-5OO&WRL$?0.MV$H"$$+PG1$4+8$,+7>H@:0O1:#Q<-P8;NUK';Q*58X206
M?(.$06LUL[#9MVR=+\+,?S)30G\EFJ>2%*@NE'A"$RZ51&<I*$RH/$>?T,,L
M16?OSV-7:3\&[6:-YKC6#(YHANB6,U5(-&4YY!W\]#3_Z@3?U?&U00:[(,?!
M2<%OF>JAT/^( B\(.\XS>3T]Z KG_[Q/_]G[LV2$;<5#JQ<>TU,%"'3#,EX"
MPBQ'TZUN.A(D^GD]ETKHJ_NKJ^:U:M2M:MK94%8X@Y&C^Y4$L08G^?#.[WN?
MNQ+^EF+I6XI-WTCL66FBMC31*?5D5I"J(FQIRY)1+*7@O-1]K[FCF;FC7;6I
M9?M6UDR&=3+HAY'G>;&[WD][!RZ\"@]PZ2$N\*_Z@P/@]!#H#RXO^_O .A/N
M7HLJ02SM;) ZHA53];_;6MOQ<VV[[@O[V!]._ Y[JL=5/5W^RM>S[A:+)6$2
M45AH5U[O4G=04<^/>J-X91ODG"O=;NVRT",7A 'H[PO.U6YC'+1#//D#4$L#
M!!0    ( *5QB%<Y&_!81@(  /T$   9    >&PO=V]R:W-H965T<R]S:&5E
M=#0U+GAM;(U46V_3,!3^*T<!H4V".DUOJ"21Z IB$D/5*N!AXL%)3AIK3IS9
M3KHA?CRVDT9E:B?R$-_.^2ZVC\.]D/>J0-3P6/)*15ZA=;TD1*4%EE2-1(V5
M6<F%+*DV0[DCJI9(,Y=4<A+X_IR4E%5>'+JYC8Q#T6C.*MQ(4$U94OFT0B[V
MD3?V#A.W;%=H.T'BL*8[W*+^7F^D&9$!)6,E5HJ)"B3FD?=QO%Q-;;P+^,%P
MKX[Z8)TD0MS;P746>;X5A!Q3;1&H:5J\0LXMD)'QT&-Z Z5-/.X?T#\[[\9+
M0A5>"?Z39;J(O/<>9)C3ANM;L?^"O9^9Q4L%5^X/^RYVOO @;90699]L%)2L
MZEKZV._#4<(D.),0] F!T]T1.95KJFD<2K$'::,-FNTXJR[;B&.5/92MEF:5
MF3P=;YM$X4.#E89/K?DKN%BCIHRK2W@'SU?A[@;+!.6OD&A#;B%(VA.M.J+@
M#-$:TQ'XL[<0^,$$7@,!55")JF_^!23&Q6 E&*P$CF'RGU;@[JN)@&N-I3HI
MN(.;GH:SU;!4-4TQ\LQU5RA;].(WK\9S_\,+8B>#V,E+Z/&:M2S#*E-0TR>:
M<(0+5D$F.*?2S*'L]N42_ASMU2D3'<W"T=@*;&-_Y <A:4^(FP[BIB^*^];8
M0P:1'\Z(-KH0DOW&#+2 !$TYUHU,"U,.F1/>Q5FUYY5VG+,CI3/??<_$DJ/;
M;!^&&RIWK%+ ,3>9_FAA(&17;-U B]I=\$1H4RZN6YCW":4-,.NY$/HPL#4S
MO'CQ7U!+ P04    " "E<8A7U5/Q/3$#   *$P  #0   'AL+W-T>6QE<RYX
M;6S=6%U/VS 4_2N1&1-($VF;$9K15MHJ(4W:)B1XV!MR&Z>UY-B9X[*67X^O
MG:8?^"+&PT:7JL2^Q^?<8_N&6!W49B78S9PQ$RU+(>LAF1M3?8KC>CIG):W/
M5,6D10JE2VIL5\_BNM*,YC602A'W.ITT+BF79#20B_*J-'4T50MIAB1M0Y&_
M?<V'I)M^))&7&ZN<#<G=R?M?"V4NWT7^?O3AZ*AS=WJY'S]QP"F)@Z+G+Q ]
MZ^"Z%L.DTUUI-_S8"GGB,4:["-!LE@T3.ABY'R;OLG%Z%J1O<1TQ;O9K-"B4
MW&Q;0GS *M.21?=4#,F8"C[1'%@%+;E8^7 / E,EE(Z,K1>;J@N1^L'#7=^#
M4FIT2BZ5=KE]!O]WT@S? ]8],,B%: WVB ^,!A4UAFEY93MNL L^@:*F?;NJ
MK,.9IJMN[YQL".YFDTR4SIENTW3).C0:"%: '<UG<[@;5<4 &J-*V\@YG2E)
MG8<UHVE8V2D3X@:>LY_%CO:RV-JS#NR8;)O64-/T,KX#^MMJ7GM;MO<JW:CB
M]\I\6=CI2->'!X-=:U;PI>LOB]8 IM[%U6E5B=5GP6>R9'[R+TXX&M U+YHK
MS1]L-BB5J0TP3:)[I@V?;D=^:UK=LJ59E].RP#WW#M#SWUWG&9-,4[%MVM;^
M6U[E5SM.+OZ59?=?9=]PT&/S\GSK)L\/P61Z""8/HB;[AV R>Y,FX^8%OG5*
MV#DCM-$(SF)#\@-.=6*3-)HLN#!<-KTYSW,FGQP5K+RA$WO0W]&WXW-6T(4P
MMRTX))OV=Y;S19FUHZYA(9I1F_8WF%XW;0^"-A>7.5NR?-QT]6SBFI%MV*S-
M!81]Y,I=803C>"R, (;EP1Q@',_"\OQ/\^FC\_$8YJT?1/HHIX]R/"N$C-T'
MRQ/F9/8*SS3+DB1-L14=CX,.QMBZI2E\PVJ8-V!@>2#3GZTUOMMXA3Q?!]B>
M/E<AV$SQ2L1FBJ\U(.%U T:6A7<;RP,,;!>PVH'\X3Q04V%.DL"N8MZP)QA'
ML@Q#H!;#-9JFR.JD\ GO#_:4)$F6A1' P@Z2!$/@:<01S %XP) D<>_!O?=1
MO'Y/Q9M?OT:/4$L#!!0    ( *5QB%>7BKL<P    !,"   +    7W)E;',O
M+G)E;'.=DKENPS ,0'_%T)XP!] AB#-E\18$^0%6H@_8$@6*19V_K]JE<9 +
M&7D]/!+<'FE [3BDMHNI&/T04FE:U;@!2+8ECVG.D4*NU"P>-8?20$3;8T.P
M6BP^0"X99K>]9!:G<Z17B%S7G:4]VR]/06^ KSI,<4)I2$LS#O#-TG\R]_,,
M-47E2B.56QIXT^7^=N!)T:$B6!::1<G3HAVE?QW']I#3Z:]C(K1Z6^CY<6A4
M"H[<8R6,<6*T_C6"R0_L?@!02P,$%     @ I7&(5W/,1:CB P  =QT   \
M  !X;"]W;W)K8F]O:RYX;6S%F5USFS@4AO^*AJOT(FOS$3?-U)UIX]VM9]*L
M-^['94>&8UL3(;F2<-K^^CV"NBL2>J8WLJ\ "<L/ MZ' R\?M+E?:7W/OM92
MV6FR=6YW-1K9<@LUMW_H'2CL66M3<X>;9C.R.P.\LEL 5\M1-AY/1C47*GGU
M\C#6PHS"#>V@=$(K;/0-'P4\V/_[_2;;"RM60@KW;9JTZQ(25@LE:O$=JFDR
M3IC=ZH>WVHCO6CDNEZ714DZ3M.OX",:)\DGSTD.^YRO;MCB^NN,(,DTF8QQP
M+8QU[1[M^!P9]X [=UN-TW\)Z<#,N(._C6YV0FW\,'@4H^ PVGDX++M)O#*_
M,XUZO18ES'39U*!<-X\&I =4=BMV-F&*US!-KO4>#%OP#?B#PG^95]T!.B0+
MILM<">PP\ZIEC,?S0?&F$@XJ=JU5!<IV:U9+42%1 )D1D-D)(3]G 61.0.:G
MA,P#R(* +$X)6020%P3DQ2DA+P+("0$Y.27D)(!\3D ^/R+DX9ZNV-+CX$\#
MR$L"\C(NY!MNA65ZS18&+.[:[A&@O2#07L1%6P*W6G&O,L95Q=YQA<GM?\0^
M6&!AA(^I#!_'Q;Q%Z;XN2]THAU[#>=0*U\L6U(:0I&@BF^8.]J :8'=0ZHT2
MCTYR2NDEC>R7N4(TAX\CT)LM2B9I9)O<X)77IZ&LD4;6Q@Q6+F2AY)!&ML-<
ME;H&]IY_[<\/Y8(TL@QN<5RIK64[?+A;;KGI/=U1 D@C&V#I='E_CA';.J#&
MD>SC?$VI[$\CA_\=.&&Z1%U(KGIGE K^-'+R?^+&<(6QC[EJ&B[#!V$JZK/(
M48\>]QD/JNR'549%>Q8YVF<@L=HRW_ *LSWA9&31$#G5E\W*PI?&7UI_[A^9
M,*.R/8N<[8%NV!G6J!+LLY"-2OHL<M)WWAG$HD(_BQSZ7D"#4%3J9T=(?='9
MZ&?N#T)2 LA.)( ?H"$FY8'LR!X8G$=*"-F1A3 $F%-FR".;(:Q5SF;@N)!]
M.,H0>61#]")O"(X211Y9%#\R[YR]7EZSRR)C_S9XIH4O1/? YB$F^7[I*"5!
M@/G.OU)M:M9VA,5H3ADD/T*MP,YNM-J<.S U\]O/AD\Z993\*$:Y]7>U/\V_
M(*3TDD?62UCH#--17LDC>V58?D.4E%;RR%KYM?U:TA"3DDL>62Y/[;< (W0E
M2K: 7E%44(HI(BOF*6;O_@DQ*=D4D67S4]5#EV-!F::(;)I>]3:,1QFFB&R8
M?ATWS$=^O(BLEB<5W3 BI96BU<KH\*&O@K504-WB\!;;2R[+A6%^T;V4+"[\
M6XAU(^4UMOVC;C2O#M\-#]\\7_T'4$L#!!0    ( *5QB%>X-L3<J0$  "X;
M   :    >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-V;MNPD 0A>%707X
MEIE9;A%0I:&-> $+EHLPV/)N%'C[("C@6"G2H#V5M;8\_AM_LM:SKU"5Z5"?
MX_[0Q-[E5)WCO-BGU'PX%]?[<"ICOV["^79E6[>G,MV6[<XUY?I8[H+3P6#D
MVM<9Q6+V.K.WNC;A/Q/K[?:P#I_U^OL4SNF/P>ZG;H]Q'T(J>JNRW84T+]RE
M>IZ.[GZ0_FURT5MNYD6[W$CA<@<I!&G^((,@RQ_D(<CG#QI"T#!_T B"1OF#
MQA TSA\T@:!)_J I!$WS!\D 91P0)'6P)M!:D&LA\%H0;"$06Y!L(3!;$&TA
M4%N0;2%P6Q!N(9!;D&XAL%L0;R'06U%O)=!;46\ET%L[']L$>BOJK01Z*^JM
M!'HKZJT$>BOJK01Z*^JM!'HKZJT$>BOJK01Z&^IM!'H;ZFT$>AOJ;01Z6V>S
MA$!O0[V-0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T.]C4!OCWI[ KT]ZNT)]/:H
MMR?0VZ/>GD!OW]GL)M#;H][^G7K'=*U"?/8\UOC\=U*=;O>&Y^/OR\?)S@MU
MQ]G![['%+U!+ P04    " "E<8A74]DK*;(!  !3&P  $P   %M#;VYT96YT
M7U1Y<&5S72YX;6S-F<UNPC 0A%\%Y8J(L9W2'P&7MM>60U_ 338D(HDMVU!X
M^SKA1VI%HR(J=2ZQ$N_.C+W2=\GT;6?(#;9UU;A95'AO'AAS:4&U<K$VU(2=
M7-M:^?!JE\RH=*66Q,1X/&&I;CPU?N1;C6@^?:)<K2L_>-Z&SZ[4S2RR5+EH
M\+@O;+UFD3*F*E/EPS[;--DWE]'!(0Z=78TK2N.&H2!B9QW:G9\-#GVO&[*V
MS&BP4-:_J#I4L6W%G-]5Y.)^B3,9=9Z7*64Z7=>A)7;&DLI<0>3K*MZ+#ON=
M?;AAVC_YU?Z=3)]AJ%Q8;5R8F*7+[8XC:;M')@B1]67_$4^.0?KJ\U$[[8RR
M7WJ'Z_W0=M7-P[%NN?Z.O\[XI']A#@&20X+D2$!RW(#DF(#DN 7)<0>2XQXD
M!Q^C!$$A*D=!*D=A*D>!*D>A*D?!*D?A*D<!*T<AJT AJT AJT AJT AJT A
MJT AJT AJT AJT AJT AJT0AJT0AJT0AJT0AJT0AJT0AJT0AJT0AJT0AJT0A
M:X)"U@2%K D*61,4LB8H9$W^DZSO6J_^^C=/N\:U*INC/^O^I<T_ 5!+ 0(4
M Q0    ( *5QB%<'04UB@0   +$    0              "  0    !D;V-0
M<F]P<R]A<' N>&UL4$L! A0#%     @ I7&(5_?.MROO    *P(  !$
M         ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ I7&(
M5YE<G",0!@  G"<  !,              ( !S0$  'AL+W1H96UE+W1H96UE
M,2YX;6Q02P$"% ,4    " "E<8A7-PBM!<X%  #%'@  &
M@($."   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ I7&(
M5]?/<>%6"0  -B\  !@              ("!$@X  'AL+W=O<FMS:&5E=',O
M<VAE970R+GAM;%!+ 0(4 Q0    ( *5QB%<':!CR) ,  #(,   8
M      " @9X7  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4
M" "E<8A7WN3OFY$%  !J&   &               @('X&@  >&PO=V]R:W-H
M965T<R]S:&5E=#0N>&UL4$L! A0#%     @ I7&(5P"F_ $R P  =0L  !@
M             ("!OR   'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4
M Q0    ( *5QB%?IENKKL (   X(   8              " @2<D  !X;"]W
M;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4    " "E<8A7BQBVHJD'  #9
M(   &               @($-)P  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL
M4$L! A0#%     @ I7&(5RM&L [?!P  E$,  !@              ("!["X
M 'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( *5QB%=1\_?8
M6@0  ,H*   8              " @0$W  !X;"]W;W)K<VAE971S+W-H965T
M.2YX;6Q02P$"% ,4    " "E<8A7D)<,$DH$   %"@  &0
M@(&1.P  >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( *5Q
MB%?K2*ORU@(  %0&   9              " @1)   !X;"]W;W)K<VAE971S
M+W-H965T,3$N>&UL4$L! A0#%     @ I7&(5^8/@ZZJ!@  S0\  !D
M         ("!'T,  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4
M    " "E<8A76*90>)T$   O"@  &0              @($ 2@  >&PO=V]R
M:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( *5QB%?KI@[ L0<  "@3
M   9              " @=1.  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL
M4$L! A0#%     @ I7&(5SVDAYJP"P  AQX  !D              ("!O%8
M 'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " "E<8A7JTL5
MGZ($  #B"P  &0              @(&C8@  >&PO=V]R:W-H965T<R]S:&5E
M=#$V+GAM;%!+ 0(4 Q0    ( *5QB%>->[;@$0,  #0'   9
M  " @7QG  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @
MI7&(5]%3I/6!!   U0H  !D              ("!Q&H  'AL+W=O<FMS:&5E
M=',O<VAE970Q."YX;6Q02P$"% ,4    " "E<8A7ACRCXA\%  #=#   &0
M            @(%\;P  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4
M Q0    ( *5QB%<)KBF*.P0  -X)   9              " @=)T  !X;"]W
M;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%     @ I7&(5V]"Y9RM P
M4@@  !D              ("!1'D  'AL+W=O<FMS:&5E=',O<VAE970R,2YX
M;6Q02P$"% ,4    " "E<8A7G_O(\[L"  #/!@  &0              @($H
M?0  >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( *5QB%<9
MG<\(!04  #4+   9              " @1J   !X;"]W;W)K<VAE971S+W-H
M965T,C,N>&UL4$L! A0#%     @ I7&(5YP+5,C. @  ! 8  !D
M     ("!5H4  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4
M" "E<8A7@)U*:CD$  #;"0  &0              @(%;B   >&PO=V]R:W-H
M965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    ( *5QB%>FN=VSO@(  .8%   9
M              " @<N,  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L!
M A0#%     @ I7&(5U<[D_<  P  [@8  !D              ("!P(\  'AL
M+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " "E<8A7C"LQ3 H#
M  #-!@  &0              @('WD@  >&PO=V]R:W-H965T<R]S:&5E=#(X
M+GAM;%!+ 0(4 Q0    ( *5QB%=%M&]>% ,  .4&   9              "
M@3B6  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ I7&(
M5T>Y0NG1 @  0P8  !D              ("!@YD  'AL+W=O<FMS:&5E=',O
M<VAE970S,"YX;6Q02P$"% ,4    " "E<8A7+/:RN4<"  !8!0  &0
M        @(&+G   >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0
M   ( *5QB%?]W0D3M (  ",(   9              " @0F?  !X;"]W;W)K
M<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @ I7&(5S/9[)\Z!   R!
M !D              ("!]*$  'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q0
M2P$"% ,4    " "E<8A7:O@PRJ(#  "#$   &0              @(%EI@
M>&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( *5QB%=#;%-U
MF@,  +T/   9              " @3ZJ  !X;"]W;W)K<VAE971S+W-H965T
M,S4N>&UL4$L! A0#%     @ I7&(5YBV(\.F"@  N78  !D
M ("!#ZX  'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    " "E
M<8A7^F]D.M8"  #1"0  &0              @('LN   >&PO=V]R:W-H965T
M<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    ( *5QB%??;9P1NP,  ",-   9
M          " @?F[  !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#
M%     @ I7&(5V/*%78K!0  F2$  !D              ("!Z[\  'AL+W=O
M<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    " "E<8A7\06O=:8#  !&
M#0  &0              @(%-Q0  >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM
M;%!+ 0(4 Q0    ( *5QB%<^0)HC80,  " ,   9              " @2K)
M  !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ I7&(5^@#
M3:=9 P  V@X  !D              ("!PLP  'AL+W=O<FMS:&5E=',O<VAE
M970T,BYX;6Q02P$"% ,4    " "E<8A7:>EX^.@"  !;#   &0
M    @(%2T   >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    (
M *5QB%=+RI.HG (  - '   9              " @7'3  !X;"]W;W)K<VAE
M971S+W-H965T-#0N>&UL4$L! A0#%     @ I7&(5SD;\%A& @  _00  !D
M             ("!1-8  'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"
M% ,4    " "E<8A7U5/Q/3$#   *$P  #0              @ '!V   >&PO
M<W1Y;&5S+GAM;%!+ 0(4 Q0    ( *5QB%>7BKL<P    !,"   +
M      "  1W<  !?<F5L<R\N<F5L<U!+ 0(4 Q0    ( *5QB%=SS$6HX@,
M '<=   /              "  0;=  !X;"]W;W)K8F]O:RYX;6Q02P$"% ,4
M    " "E<8A7N#;$W*D!   N&P  &@              @ $5X0  >&PO7W)E
M;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4    " "E<8A74]DK*;(!  !3
M&P  $P              @ 'VX@  6T-O;G1E;G1?5'EP97-=+GAM;%!+!08
1    -0 U &H.  #9Y      !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.3</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>102</ContextCount>
  <ElementCount>226</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>29</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0000001 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>0000002 - Statement - Unaudited Condensed Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets</Role>
      <ShortName>Unaudited Condensed Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>0000003 - Statement - Unaudited Condensed Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Unaudited Condensed Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>0000004 - Statement - Unaudited Condensed Consolidated Statements of Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome</Role>
      <ShortName>Unaudited Condensed Consolidated Statements of Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>0000005 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss</Role>
      <ShortName>Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>0000006 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss) (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLossParentheticals</Role>
      <ShortName>Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss) (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>0000007 - Statement - Unaudited Condensed Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows</Role>
      <ShortName>Unaudited Condensed Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>0000008 - Statement - Unaudited Consolidated Statements of Changes in Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity</Role>
      <ShortName>Unaudited Consolidated Statements of Changes in Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>0000009 - Disclosure - Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/BasisofPresentation</Role>
      <ShortName>Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>0000010 - Disclosure - Seasonality and Management Use of Estimates</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/SeasonalityandManagementUseofEstimates</Role>
      <ShortName>Seasonality and Management Use of Estimates</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>0000011 - Disclosure - New Accounting Pronouncements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/NewAccountingPronouncements</Role>
      <ShortName>New Accounting Pronouncements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>0000012 - Disclosure - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/RevenueRecognition</Role>
      <ShortName>Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>0000013 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>0000014 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>0000015 - Disclosure - Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/Debt</Role>
      <ShortName>Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>0000016 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>0000017 - Disclosure - Net loss per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/NetlossperShare</Role>
      <ShortName>Net loss per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>0000018 - Disclosure - Stock-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/StockBasedCompensation</Role>
      <ShortName>Stock-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>0000019 - Disclosure - Retirement Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/RetirementPlans</Role>
      <ShortName>Retirement Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>0000020 - Disclosure - Warranty Accrual</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/WarrantyAccrual</Role>
      <ShortName>Warranty Accrual</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>0000021 - Disclosure - Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/Contingencies</Role>
      <ShortName>Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>0000022 - Disclosure - Delivery Costs</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/DeliveryCosts</Role>
      <ShortName>Delivery Costs</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>0000023 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>0000024 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.virco.com/role/Inventories</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>0000025 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.virco.com/role/Leases</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>0000026 - Disclosure - Debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/DebtTables</Role>
      <ShortName>Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.virco.com/role/Debt</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>0000027 - Disclosure - Net income per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/NetincomeperShareTables</Role>
      <ShortName>Net income per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>0000028 - Disclosure - Stock-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/StockBasedCompensationTables</Role>
      <ShortName>Stock-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.virco.com/role/StockBasedCompensation</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>0000029 - Disclosure - Retirement Plans (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/RetirementPlansTables</Role>
      <ShortName>Retirement Plans (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.virco.com/role/RetirementPlans</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>0000030 - Disclosure - Warranty Accrual (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/WarrantyAccrualTables</Role>
      <ShortName>Warranty Accrual (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.virco.com/role/WarrantyAccrual</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>0000032 - Disclosure - Seasonality (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/SeasonalityDetails</Role>
      <ShortName>Seasonality (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/SeasonalityandManagementUseofEstimates</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>0000033 - Disclosure - Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/InventoriesDetails</Role>
      <ShortName>Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/InventoriesTables</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>0000034 - Disclosure - Leases - ASC 842 Quantitative Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails</Role>
      <ShortName>Leases - ASC 842 Quantitative Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>0000035 - Disclosure - Leases - ASC 842 Minimum Lease Payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails</Role>
      <ShortName>Leases - ASC 842 Minimum Lease Payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>0000036 - Disclosure - Debt (Long-term Debt) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/DebtLongtermDebtDetails</Role>
      <ShortName>Debt (Long-term Debt) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/DebtTables</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>0000037 - Disclosure - Debt (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/DebtNarrativeDetails</Role>
      <ShortName>Debt (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/DebtTables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>0000038 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/IncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/IncomeTaxes</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>0000039 - Disclosure - Net income per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/NetincomeperShareDetails</Role>
      <ShortName>Net income per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/NetincomeperShareTables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>0000040 - Disclosure - Stock-Based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/StockBasedCompensationDetails</Role>
      <ShortName>Stock-Based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/StockBasedCompensationTables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>0000041 - Disclosure - Retirement Plans (Periodic Pension Cost) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails</Role>
      <ShortName>Retirement Plans (Periodic Pension Cost) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/RetirementPlansTables</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>0000042 - Disclosure - Retirement Plans (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/RetirementPlansNarrativeDetails</Role>
      <ShortName>Retirement Plans (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/RetirementPlansTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>0000043 - Disclosure - Warranty (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/WarrantyDetails</Role>
      <ShortName>Warranty (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/WarrantyAccrualTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>0000044 - Disclosure - Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/ContingenciesDetails</Role>
      <ShortName>Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/Contingencies</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>0000045 - Disclosure - Delivery Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/DeliveryCostsDetails</Role>
      <ShortName>Delivery Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/DeliveryCosts</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="virc-20231031.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>0000046 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.virco.com/role/SubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.virco.com/role/SubsequentEvents</ParentRole>
      <Position>45</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="virc-20231031.htm">virc-20231031.htm</File>
    <File>virc-20231031.xsd</File>
    <File>virc-20231031_cal.xml</File>
    <File>virc-20231031_def.xml</File>
    <File>virc-20231031_lab.xml</File>
    <File>virc-20231031_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="553">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>61
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "virc-20231031.htm": {
   "nsprefix": "virc",
   "nsuri": "http://www.virco.com/20231031",
   "dts": {
    "inline": {
     "local": [
      "virc-20231031.htm"
     ]
    },
    "schema": {
     "local": [
      "virc-20231031.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "virc-20231031_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "virc-20231031_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "virc-20231031_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "virc-20231031_pre.xml"
     ]
    }
   },
   "keyStandard": 199,
   "keyCustom": 27,
   "axisStandard": 14,
   "axisCustom": 1,
   "memberStandard": 16,
   "memberCustom": 12,
   "hidden": {
    "total": 5,
    "http://xbrl.sec.gov/dei/2022": 5
   },
   "contextCount": 102,
   "entityCount": 1,
   "segmentCount": 29,
   "elementCount": 344,
   "unitCount": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2022": 553,
    "http://xbrl.sec.gov/dei/2022": 29
   },
   "report": {
    "R1": {
     "role": "http://www.virco.com/role/CoverPage",
     "longName": "0000001 - Document - Cover Page",
     "shortName": "Cover Page",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets",
     "longName": "0000002 - Statement - Unaudited Condensed Consolidated Balance Sheets",
     "shortName": "Unaudited Condensed Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:Cash",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:Cash",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical",
     "longName": "0000003 - Statement - Unaudited Condensed Consolidated Balance Sheets (Parenthetical)",
     "shortName": "Unaudited Condensed Consolidated Balance Sheets (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome",
     "longName": "0000004 - Statement - Unaudited Condensed Consolidated Statements of Income",
     "shortName": "Unaudited Condensed Consolidated Statements of Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss",
     "longName": "0000005 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss)",
     "shortName": "Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:ComprehensiveIncomeNetOfTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLossParentheticals",
     "longName": "0000006 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss) (Parentheticals)",
     "shortName": "Unaudited Condensed Consolidated Statements of Comprehensive Income (Loss) (Parentheticals)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows",
     "longName": "0000007 - Statement - Unaudited Condensed Consolidated Statements of Cash Flows",
     "shortName": "Unaudited Condensed Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity",
     "longName": "0000008 - Statement - Unaudited Consolidated Statements of Changes in Stockholders' Equity",
     "shortName": "Unaudited Consolidated Statements of Changes in Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c-44",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-44",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.virco.com/role/BasisofPresentation",
     "longName": "0000009 - Disclosure - Basis of Presentation",
     "shortName": "Basis of Presentation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.virco.com/role/SeasonalityandManagementUseofEstimates",
     "longName": "0000010 - Disclosure - Seasonality and Management Use of Estimates",
     "shortName": "Seasonality and Management Use of Estimates",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "virc:SeasonalityTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "virc:SeasonalityTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.virco.com/role/NewAccountingPronouncements",
     "longName": "0000011 - Disclosure - New Accounting Pronouncements",
     "shortName": "New Accounting Pronouncements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.virco.com/role/RevenueRecognition",
     "longName": "0000012 - Disclosure - Revenue Recognition",
     "shortName": "Revenue Recognition",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.virco.com/role/Inventories",
     "longName": "0000013 - Disclosure - Inventories",
     "shortName": "Inventories",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.virco.com/role/Leases",
     "longName": "0000014 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.virco.com/role/Debt",
     "longName": "0000015 - Disclosure - Debt",
     "shortName": "Debt",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.virco.com/role/IncomeTaxes",
     "longName": "0000016 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.virco.com/role/NetlossperShare",
     "longName": "0000017 - Disclosure - Net loss per Share",
     "shortName": "Net loss per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.virco.com/role/StockBasedCompensation",
     "longName": "0000018 - Disclosure - Stock-Based Compensation",
     "shortName": "Stock-Based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.virco.com/role/RetirementPlans",
     "longName": "0000019 - Disclosure - Retirement Plans",
     "shortName": "Retirement Plans",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "c-8",
      "name": "us-gaap:PostemploymentBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-8",
      "name": "us-gaap:PostemploymentBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.virco.com/role/WarrantyAccrual",
     "longName": "0000020 - Disclosure - Warranty Accrual",
     "shortName": "Warranty Accrual",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.virco.com/role/Contingencies",
     "longName": "0000021 - Disclosure - Contingencies",
     "shortName": "Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LossContingencyDisclosures",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LossContingencyDisclosures",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.virco.com/role/DeliveryCosts",
     "longName": "0000022 - Disclosure - Delivery Costs",
     "shortName": "Delivery Costs",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "virc:DeliveryCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "virc:DeliveryCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.virco.com/role/SubsequentEvents",
     "longName": "0000023 - Disclosure - Subsequent Events",
     "shortName": "Subsequent Events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.virco.com/role/InventoriesTables",
     "longName": "0000024 - Disclosure - Inventories (Tables)",
     "shortName": "Inventories (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.virco.com/role/LeasesTables",
     "longName": "0000025 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.virco.com/role/DebtTables",
     "longName": "0000026 - Disclosure - Debt (Tables)",
     "shortName": "Debt (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.virco.com/role/NetincomeperShareTables",
     "longName": "0000027 - Disclosure - Net income per Share (Tables)",
     "shortName": "Net income per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.virco.com/role/StockBasedCompensationTables",
     "longName": "0000028 - Disclosure - Stock-Based Compensation (Tables)",
     "shortName": "Stock-Based Compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.virco.com/role/RetirementPlansTables",
     "longName": "0000029 - Disclosure - Retirement Plans (Tables)",
     "shortName": "Retirement Plans (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfDefinedBenefitPlansDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfDefinedBenefitPlansDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.virco.com/role/WarrantyAccrualTables",
     "longName": "0000030 - Disclosure - Warranty Accrual (Tables)",
     "shortName": "Warranty Accrual (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.virco.com/role/SeasonalityDetails",
     "longName": "0000032 - Disclosure - Seasonality (Details)",
     "shortName": "Seasonality (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c-52",
      "name": "virc:ExtremeSeasonalityGoods",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-52",
      "name": "virc:ExtremeSeasonalityGoods",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.virco.com/role/InventoriesDetails",
     "longName": "0000033 - Disclosure - Inventories (Details)",
     "shortName": "Inventories (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails",
     "longName": "0000034 - Disclosure - Leases - ASC 842 Quantitative Information (Details)",
     "shortName": "Leases - ASC 842 Quantitative Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails",
     "longName": "0000035 - Disclosure - Leases - ASC 842 Minimum Lease Payments (Details)",
     "shortName": "Leases - ASC 842 Minimum Lease Payments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.virco.com/role/DebtLongtermDebtDetails",
     "longName": "0000036 - Disclosure - Debt (Long-term Debt) (Details)",
     "shortName": "Debt (Long-term Debt) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-56",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.virco.com/role/DebtNarrativeDetails",
     "longName": "0000037 - Disclosure - Debt (Narrative) (Details)",
     "shortName": "Debt (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "c-59",
      "name": "virc:DividendPayableMaximumAmountInFiscalYear",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-59",
      "name": "virc:DividendPayableMaximumAmountInFiscalYear",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.virco.com/role/IncomeTaxesDetails",
     "longName": "0000038 - Disclosure - Income Taxes (Details)",
     "shortName": "Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.virco.com/role/NetincomeperShareDetails",
     "longName": "0000039 - Disclosure - Net income per Share (Details)",
     "shortName": "Net income per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.virco.com/role/StockBasedCompensationDetails",
     "longName": "0000040 - Disclosure - Stock-Based Compensation (Details)",
     "shortName": "Stock-Based Compensation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-6",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails",
     "longName": "0000041 - Disclosure - Retirement Plans (Periodic Pension Cost) (Details)",
     "shortName": "Retirement Plans (Periodic Pension Cost) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "c-86",
      "name": "us-gaap:DefinedBenefitPlanServiceCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-86",
      "name": "us-gaap:DefinedBenefitPlanServiceCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.virco.com/role/RetirementPlansNarrativeDetails",
     "longName": "0000042 - Disclosure - Retirement Plans (Narrative) (Details)",
     "shortName": "Retirement Plans (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "c-90",
      "name": "virc:DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-90",
      "name": "virc:DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.virco.com/role/WarrantyDetails",
     "longName": "0000043 - Disclosure - Warranty (Details)",
     "shortName": "Warranty (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "c-14",
      "name": "us-gaap:ProductWarrantyAccrual",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-14",
      "name": "us-gaap:ProductWarrantyAccrual",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.virco.com/role/ContingenciesDetails",
     "longName": "0000044 - Disclosure - Contingencies (Details)",
     "shortName": "Contingencies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "c-97",
      "name": "virc:SelfInsuranceRetention",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-97",
      "name": "virc:SelfInsuranceRetention",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.virco.com/role/DeliveryCostsDetails",
     "longName": "0000045 - Disclosure - Delivery Costs (Details)",
     "shortName": "Delivery Costs (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "c-6",
      "name": "virc:ShippingAndClassroomDeliveryCosts",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-6",
      "name": "virc:ShippingAndClassroomDeliveryCosts",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.virco.com/role/SubsequentEventsDetails",
     "longName": "0000046 - Disclosure - Subsequent Events (Details)",
     "shortName": "Subsequent Events (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "c-102",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-102",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "virc-20231031.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "virc_DefinedContributionPlanNumberOfCommonSharesHeld": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "DefinedContributionPlanNumberOfCommonSharesHeld",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of common shares held",
        "label": "Defined Contribution Plan, Number of Common Shares Held",
        "documentation": "Defined Contribution Plan, Number of Common Shares Held"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease cost",
        "label": "Operating Lease, Cost",
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability."
       }
      }
     },
     "auth_ref": [
      "r456",
      "r526"
     ]
    },
    "virc_IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "IncreaseDecreaseInAssembleToShipInventorySublimitUnderCreditAgreement",
     "crdr": "debit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase in assemble to ship inventory sublimit under credit agreement",
        "label": "Increase (Decrease) In Assemble To Ship Inventory Sublimit Under Credit Agreement",
        "documentation": "Increase (Decrease) In Assemble To Ship Inventory Sublimit Under Credit Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "virc_IncreaseDecreaseInInventorySublimitUnderCreditAgreement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "IncreaseDecreaseInInventorySublimitUnderCreditAgreement",
     "crdr": "debit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase in inventory sublimit under credit agreement",
        "label": "Increase (Decrease) In Inventory Sublimit Under Credit Agreement",
        "documentation": "Increase (Decrease) In Inventory Sublimit Under Credit Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "virc_IncreaseDecreaseApplicableMarginBasisPoints": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "IncreaseDecreaseApplicableMarginBasisPoints",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase (decrease) applicable margin basis points",
        "label": "Increase (Decrease) Applicable Margin Basis Points",
        "documentation": "Increase (Decrease) Applicable Margin Basis Points"
       }
      }
     },
     "auth_ref": []
    },
    "virc_ProductLiabilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "ProductLiabilityMember",
     "presentation": [
      "http://www.virco.com/role/ContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product Liability [Member]",
        "label": "Product Liability [Member]",
        "documentation": "Product Liability"
       }
      }
     },
     "auth_ref": []
    },
    "virc_InventoryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "InventoryMember",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventory [Member]",
        "label": "Inventory [Member]",
        "documentation": "Inventory."
       }
      }
     },
     "auth_ref": []
    },
    "virc_IncrementalCreditLineIncreaseDecreasePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "IncrementalCreditLineIncreaseDecreasePercentage",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Incremental credit line increase (decrease)",
        "label": "Incremental Credit Line Increase (Decrease), Percentage",
        "documentation": "Incremental Credit Line Increase (Decrease), Percentage"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net property, plant and equipment",
        "label": "Property, Plant and Equipment, Net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r127",
      "r480",
      "r527"
     ]
    },
    "virc_LossLiabilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "LossLiabilityMember",
     "presentation": [
      "http://www.virco.com/role/ContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loss Liability [Member]",
        "label": "Loss Liability [Member]",
        "documentation": "Loss Liability [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "virc_ExtremeSeasonalityGoods": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "ExtremeSeasonalityGoods",
     "presentation": [
      "http://www.virco.com/role/SeasonalityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "The market for educational furniture is marked by extreme seasonality",
        "label": "Extreme Seasonality Goods",
        "documentation": "Extreme seasonality goods."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncreaseDecreaseInIncomeTaxes",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income taxes",
        "label": "Increase (Decrease) in Income Taxes",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes, and in deferred and other tax liabilities and assets."
       }
      }
     },
     "auth_ref": [
      "r543"
     ]
    },
    "virc_SeasonalityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "SeasonalityTextBlock",
     "presentation": [
      "http://www.virco.com/role/SeasonalityandManagementUseofEstimates"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Seasonality and Management Use of Estimates",
        "label": "Seasonality [Text Block]",
        "documentation": "Seasonality."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total property, plant and equipment",
        "label": "Property, Plant and Equipment, Gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r137"
     ]
    },
    "virc_SelfInsuranceRetention": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "SelfInsuranceRetention",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/ContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Self insurance retention",
        "label": "Self Insurance Retention",
        "documentation": "Self Insurance Retention"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amendment Flag",
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "virc_DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum annual contributions per employee, percent",
        "label": "Defined Contribution Plan, Minimum Annual Contributions Per Employee, Percent",
        "documentation": "Defined Contribution Plan, Minimum Annual Contributions Per Employee, Percent"
       }
      }
     },
     "auth_ref": []
    },
    "virc_PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accrued pension expenses",
        "label": "Pension and Other Postretirement Defined Benefit Plans, Including Life Insurance, Liabilities, Noncurrent",
        "documentation": "Pension and Other Postretirement Defined Benefit Plans, Including Life Insurance, Liabilities, Noncurrent"
       }
      }
     },
     "auth_ref": []
    },
    "virc_DebtInstrumentCovenantMinimumFixedChargeCoverageRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "DebtInstrumentCovenantMinimumFixedChargeCoverageRatio",
     "presentation": [
      "http://www.virco.com/role/BasisofPresentationDetails",
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum fixed charge coverage ratio",
        "label": "Debt Instrument, Covenant, Minimum Fixed Charge Coverage Ratio",
        "documentation": "Debt instrument, covenant, maintained fixed charge coverage ratio"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Stockholders' equity:",
        "label": "Stockholders' Equity Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForRent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PaymentsForRent",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities",
        "label": "Payments for Rent",
        "documentation": "Cash payments to lessor's for use of assets under operating leases."
       }
      }
     },
     "auth_ref": [
      "r52"
     ]
    },
    "virc_ShippingAndClassroomDeliveryCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "ShippingAndClassroomDeliveryCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.virco.com/role/DeliveryCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shipping and classroom delivery costs",
        "label": "Shipping And Classroom Delivery Costs",
        "documentation": "Shipping And Classroom Delivery Costs"
       }
      }
     },
     "auth_ref": []
    },
    "virc_DebtInstrumentCovenantPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "DebtInstrumentCovenantPeriodAxis",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument Covenant Period [Axis]",
        "label": "Debt Instrument Covenant Period [Axis]",
        "documentation": "Debt Instrument Covenant Period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating income",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r207",
      "r211",
      "r213",
      "r505"
     ]
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Period End Date",
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "presentation": [
      "http://www.virco.com/role/DebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding balances of long-term debt",
        "label": "Schedule of Long-Term Debt Instruments [Table Text Block]",
        "documentation": "Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r81",
      "r82",
      "r83",
      "r84",
      "r104",
      "r105",
      "r107",
      "r120",
      "r507",
      "r509",
      "r547"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-average discount rate",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r461",
      "r526"
     ]
    },
    "us-gaap_SubsequentEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SubsequentEventTable",
     "presentation": [
      "http://www.virco.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event [Table]",
        "label": "Subsequent Event [Table]",
        "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued."
       }
      }
     },
     "auth_ref": [
      "r448",
      "r469"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Fiscal Period Focus",
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalLeaseObligationsIncurred": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CapitalLeaseObligationsIncurred",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Right-of-use assets obtained in exchange for new lease liabilities",
        "label": "Lease Obligation Incurred",
        "documentation": "Amount of increase in lease obligation from new lease."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r60"
     ]
    },
    "virc_DividendPayableMaximumAmountInFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "DividendPayableMaximumAmountInFiscalYear",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum dividend amount in fiscal year",
        "label": "Dividend Payable, Maximum Amount In Fiscal Year",
        "documentation": "Dividend Payable, Maximum Amount In Fiscal Year"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://www.virco.com/role/SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Events",
        "label": "Subsequent Events [Text Block]",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r468",
      "r470"
     ]
    },
    "us-gaap_PensionPlansDefinedBenefitMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PensionPlansDefinedBenefitMember",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails",
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pension Plan [Member]",
        "label": "Pension Plan [Member]",
        "documentation": "Plan designed to provide participant with pension benefits. Includes, but is not limited to, defined benefit and defined contribution plans. Excludes other postretirement benefits."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r298",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r367",
      "r515",
      "r516",
      "r520",
      "r521",
      "r522"
     ]
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lender Name [Axis]",
        "label": "Lender Name [Axis]",
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r545"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r463"
     ]
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Credit Facility [Axis]",
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LongTermDebtNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/DebtLongtermDebtDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/DebtLongtermDebtDetails",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Long-term debt, less current portion",
        "terseLabel": "Non-current portion",
        "label": "Long-Term Debt, Excluding Current Maturities",
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r141"
     ]
    },
    "virc_SharesVestedAndOtherDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "SharesVestedAndOtherDuringPeriodValue",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares vested and others",
        "label": "Shares Vested and Other During Period, Value",
        "documentation": "Shares Vested and Other During Period, Value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.virco.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Minimum Future Lease Payments",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r595"
     ]
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repayment of long-term debt",
        "label": "Repayments of Long-Term Debt",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r48"
     ]
    },
    "virc_LineOfCreditFacilityBorrowingBaseLimitation": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "LineOfCreditFacilityBorrowingBaseLimitation",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving credit facility borrowing base limitation",
        "label": "Line of Credit Facility Borrowing Base Limitation",
        "documentation": "Line of credit facility borrowing base limitation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accounts receivable [Member]",
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r497"
     ]
    },
    "virc_CovenantPeriod1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "CovenantPeriod1Member",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consecutive Four Fiscal Quarters Ending July 31, 2020",
        "label": "Covenant Period 1 [Member]",
        "documentation": "Covenant Period 1"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetirementPlanSponsorLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RetirementPlanSponsorLocationDomain",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retirement Plan Sponsor Location [Domain]",
        "label": "Retirement Plan Sponsor Location [Domain]",
        "documentation": "Location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r563",
      "r564",
      "r565"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized compensation expense",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r401"
     ]
    },
    "virc_DebtInstrumentCovenantPeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "DebtInstrumentCovenantPeriodDomain",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument Covenant Period [Domain]",
        "label": "Debt Instrument Covenant Period [Domain]",
        "documentation": "Debt Instrument Covenant Period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetirementPlanSponsorLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RetirementPlanSponsorLocationAxis",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retirement Plan Sponsor Location [Axis]",
        "label": "Retirement Plan Sponsor Location [Axis]",
        "documentation": "Information by location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r563",
      "r564",
      "r565"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Assets",
        "label": "Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "virc_SharesVestedAndOtherDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "SharesVestedAndOtherDuringPeriodShares",
     "presentation": [
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares vested and others (shares)",
        "label": "Shares Vested and Other During Period, Shares",
        "documentation": "Shares Vested and Other During Period, Shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized compensation expense, weighted average period to be recognized",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r401"
     ]
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of Credit Facility [Table]",
        "label": "Line of Credit Facility [Table]",
        "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r545"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Trade accounts receivables, net",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r217",
      "r218"
     ]
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "New Accounting Pronouncements and Changes in Accounting Principles [Abstract]",
        "label": "Accounting Standards Update and Change in Accounting Principle [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r463"
     ]
    },
    "us-gaap_RetirementPlanTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RetirementPlanTypeDomain",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails",
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retirement Plan Type [Domain]",
        "label": "Retirement Plan Type [Domain]",
        "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r87",
      "r298",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r367",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r463"
     ]
    },
    "us-gaap_RetirementPlanTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RetirementPlanTypeAxis",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails",
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retirement Plan Type [Axis]",
        "label": "Retirement Plan Type [Axis]",
        "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r87",
      "r298",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r367",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522"
     ]
    },
    "us-gaap_LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility, equipment financing",
        "label": "Line of Credit Facility, Capacity Available for Specific Purpose Other than for Trade Purchases",
        "documentation": "The maximum amount of borrowing capacity under a line of credit that is available as of the balance sheet date for a specific purpose other than for financing goods acquired for inventory or imminent delivery to a customer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r463"
     ]
    },
    "virc_IncrementalCreditLineIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "IncrementalCreditLineIncreaseDecrease",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Incremental Credit Line Increase (Decrease)",
        "label": "Incremental Credit Line Increase (Decrease)",
        "documentation": "Incremental Credit Line Increase (Decrease)"
       }
      }
     },
     "auth_ref": []
    },
    "virc_WorkerscompensationLiabilityInsuranceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "WorkerscompensationLiabilityInsuranceMember",
     "presentation": [
      "http://www.virco.com/role/ContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Workers compensation Liability Insurance [Member]",
        "label": "Workers compensation Liability Insurance [Member]",
        "documentation": "Workers compensation Liability Insurance [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product Warranties Disclosures [Abstract]",
        "label": "Product Warranties Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ProductWarrantyExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.virco.com/role/WarrantyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Costs incurred",
        "label": "Product Warranty Expense",
        "documentation": "The expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r73"
     ]
    },
    "us-gaap_InventoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "InventoriesMember",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories [Member]",
        "label": "Inventories [Member]",
        "documentation": "Tangible personal property held for sale in the ordinary course of business, or in process of, or to be consumed in, production for sale."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ProductWarrantyDisclosureTextBlock",
     "presentation": [
      "http://www.virco.com/role/WarrantyAccrual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Warranty Accrual",
        "label": "Product Warranty Disclosure [Text Block]",
        "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period."
       }
      }
     },
     "auth_ref": [
      "r77"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Difference between undiscounted cash flows and discounted cash flows",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r463"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable and accrued liabilities",
        "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]",
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "presentation": [
      "http://www.virco.com/role/BasisofPresentation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Basis of Presentation",
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r99"
     ]
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unused portion fee rate",
        "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage",
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Credit Facility [Domain]",
        "label": "Credit Facility [Domain]",
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Trade accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Remaining balance of lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r463"
     ]
    },
    "us-gaap_OtherAccruedLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OtherAccruedLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other long-term liabilities",
        "label": "Other Accrued Liabilities, Noncurrent",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accrued compensation and employee benefits",
        "label": "Employee-related Liabilities, Current",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "presentation": [
      "http://www.virco.com/role/NewAccountingPronouncements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "New Accounting Pronouncements",
        "label": "Accounting Standards Update and Change in Accounting Principle [Text Block]",
        "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r170",
      "r171",
      "r174",
      "r175",
      "r184",
      "r185",
      "r186",
      "r219",
      "r220",
      "r223",
      "r224",
      "r417",
      "r418",
      "r419",
      "r431",
      "r435",
      "r436",
      "r437",
      "r439",
      "r440",
      "r441",
      "r452",
      "r453",
      "r465",
      "r467",
      "r474",
      "r475",
      "r476",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r122",
      "r140",
      "r163",
      "r205",
      "r208",
      "r212",
      "r221",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r427",
      "r429",
      "r438",
      "r527",
      "r558",
      "r559",
      "r596"
     ]
    },
    "us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
     "presentation": [
      "http://www.virco.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of shares authorized to be repurchased (in shares)",
        "label": "Stock Repurchase Program, Number of Shares Authorized to be Repurchased",
        "documentation": "The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ProductWarrantyAccrual",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/WarrantyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "label": "Standard and Extended Product Warranty Accrual",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r75",
      "r115"
     ]
    },
    "us-gaap_SelfInsuranceReserveNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SelfInsuranceReserveNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued self-insurance retention",
        "label": "Self Insurance Reserve, Noncurrent",
        "documentation": "Carrying amount of accrued known and estimated losses incurred as of the balance sheet date for which no insurance coverage exists, and for which a claim has been made or is probable of being asserted, typically arising from workmen's compensation-type of incidents and personal injury to nonemployees from accidents on the entity's property that are expected to be paid after one year (or the normal operating cycle, if longer)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Benchmark [Axis]",
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r63",
      "r101",
      "r102",
      "r216",
      "r494",
      "r497"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility, maximum borrowing capacity",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Benchmark [Domain]",
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r63",
      "r101",
      "r102",
      "r216",
      "r497"
     ]
    },
    "us-gaap_ProductWarrantyAccrualWarrantiesIssued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ProductWarrantyAccrualWarrantiesIssued",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/WarrantyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Provision",
        "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued",
        "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory Disclosure [Abstract]",
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining borrowing capacity",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "InventoryRawMaterialsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/InventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Raw materials",
        "label": "Inventory, Raw Materials, Net of Reserves",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r503"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Valuation allowance",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r413"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "StatementTable",
     "presentation": [
      "http://www.virco.com/role/BasisofPresentationDetails",
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Table]",
        "label": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r168",
      "r169",
      "r199",
      "r473"
     ]
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Fiscal Year Focus",
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "virc_LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility, period for reduced borrowings during fourth quarter of each fiscal year (consecutive days)",
        "label": "Line of Credit Facility, Period for Reduced Borrowings during Fourth Quarter of Each Fiscal Year",
        "documentation": "Line of Credit Facility, Period for Reduced Borrowings during Fourth Quarter of Each Fiscal Year"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of net actuarial loss for pension plans",
        "label": "Other Comprehensive Income (Loss), Defined Benefit Plan, Gain (Loss), Reclassification Adjustment from AOCI, after Tax",
        "documentation": "Amount, after tax, of reclassification adjustment from accumulated other comprehensive income (loss) for gain (loss) of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r36",
      "r145",
      "r341"
     ]
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/InventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finished goods",
        "label": "Inventory, Finished Goods, Net of Reserves",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r501"
     ]
    },
    "us-gaap_OtherReceivablesNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OtherReceivablesNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other receivables",
        "label": "Other Receivables, Net, Current",
        "documentation": "Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retirement Benefits [Abstract]",
        "label": "Retirement Benefits [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Stockholders' Equity [Abstract]",
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "virc_StockIncentivePlan2019Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "StockIncentivePlan2019Member",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2019 Plan [Member]",
        "label": "Stock Incentive Plan 2019 [Member]",
        "documentation": "Stock Incentive Plan 2019 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Land": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "Land",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Land",
        "label": "Land",
        "documentation": "Amount before accumulated depletion of real estate held for productive use, excluding land held for sale."
       }
      }
     },
     "auth_ref": [
      "r537"
     ]
    },
    "us-gaap_DomesticPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DomesticPlanMember",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Domestic Plan [Member]",
        "label": "Domestic Plan [Member]",
        "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r563",
      "r564",
      "r565"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.virco.com/role/RevenueRecognition"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue Recognition",
        "label": "Revenue from Contract with Customer [Text Block]",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r294",
      "r295"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "InventoryWorkInProcessNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/InventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Work in process",
        "label": "Inventory, Work in Process, Net of Reserves",
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r502"
     ]
    },
    "us-gaap_SalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SalesMember",
     "presentation": [
      "http://www.virco.com/role/SeasonalityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Sales [Member]",
        "label": "Sales [Member]",
        "documentation": "Primary financial statement caption encompassing revenue from sale of goods and services rendered in the normal course of business."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.virco.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Operating Leases [Text Block]",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r464"
     ]
    },
    "virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "DefinedBenefitPlanRecognizedNetActuarialGainLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Recognized net actuarial loss",
        "label": "Defined Benefit Plan, Recognized Net Actuarial Gain (Loss)",
        "documentation": "Defined Benefit Plan, Recognized Net Actuarial Gain (Loss)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LandImprovements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LandImprovements",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Land improvements",
        "label": "Land Improvements",
        "documentation": "Amount before accumulated depreciation and depletion of additions or improvements to real estate held for productive use. Examples include, but are not limited to, walkways, driveways, fences, and parking lots."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Type [Axis]",
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r147",
      "r149",
      "r154",
      "r477",
      "r482"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Type [Domain]",
        "label": "Award Type [Domain]",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397"
     ]
    },
    "us-gaap_VariableLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "VariableLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Variable lease cost",
        "label": "Variable Lease, Cost",
        "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases."
       }
      }
     },
     "auth_ref": [
      "r458",
      "r526"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock compensation expense",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r96",
      "r369"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining of 2024",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r595"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets, net",
        "label": "Deferred Income Tax Assets, Net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r407",
      "r408"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax",
     "crdr": "debit",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLossParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pension adjustment, tax expense",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, Tax",
        "documentation": "Amount of tax (expense) benefit for reclassification adjustment from accumulated other comprehensive (income) loss of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r97"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue from Contract with Customer [Abstract]",
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "DocumentType",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Type",
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "virc_WarrantyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "WarrantyLineItems",
     "presentation": [
      "http://www.virco.com/role/WarrantyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Warranty [Line Items]",
        "label": "Warranty [Line Items]",
        "documentation": "Warranty [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Quarterly Report",
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r533"
     ]
    },
    "virc_OtherDebtMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "OtherDebtMember",
     "presentation": [
      "http://www.virco.com/role/DebtLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Debt [Member]",
        "label": "Other Debt [Member]",
        "documentation": "Other Debt [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherIncomeAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OtherIncomeAndExpensesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Income and Expenses [Abstract]",
        "label": "Other Income and Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "virc_GeneralLiabilityLossMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "GeneralLiabilityLossMember",
     "presentation": [
      "http://www.virco.com/role/ContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "General Liability Loss",
        "label": "General Liability Loss [Member]",
        "documentation": "General Liability Loss"
       }
      }
     },
     "auth_ref": []
    },
    "virc_SeasonalityTextualAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "SeasonalityTextualAbstract",
     "presentation": [
      "http://www.virco.com/role/SeasonalityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Seasonality (Textual) [Abstract]",
        "label": "Seasonality (Textual) [Abstract]",
        "documentation": "Seasonality."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Common stock:",
        "label": "Common Stock, Number of Shares, Par Value and Other Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and stockholders\u2019 equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r113",
      "r126",
      "r527",
      "r546",
      "r552",
      "r593"
     ]
    },
    "us-gaap_SubleaseIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SubleaseIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Sublease income",
        "label": "Sublease Income",
        "documentation": "Amount of sublease income excluding finance and operating lease expense."
       }
      }
     },
     "auth_ref": [
      "r459",
      "r526"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical",
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares outstanding (shares)",
        "periodStartLabel": "Beginning balance (shares)",
        "periodEndLabel": "Ending balance (shares)",
        "label": "Common Stock, Shares, Outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r80"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.virco.com/role/NetincomeperShareDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.virco.com/role/NetincomeperShareDetails",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Diluted (shares)",
        "totalLabel": "Totals (shares)",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r188",
      "r193"
     ]
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "BuildingsAndImprovementsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Buildings and building improvements",
        "label": "Buildings and Improvements, Gross",
        "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": [
      "r67"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Common stock, shares authorized (shares)",
        "label": "Common Stock, Shares Authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement [Abstract]",
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Granted in the period (shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r386"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeited in period (shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r388"
     ]
    },
    "us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Defined pension plan settlement",
        "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Gain (Loss) Due to Settlement",
        "documentation": "Amount of gain (loss) recognized in net periodic benefit (cost) credit from irrevocable action relieving primary responsibility for benefit obligation and eliminating risk related to obligation and assets used to effect settlement."
       }
      }
     },
     "auth_ref": [
      "r300",
      "r340",
      "r360"
     ]
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total non-current liabilities",
        "label": "Liabilities, Noncurrent",
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r3",
      "r4",
      "r7",
      "r8",
      "r163",
      "r221",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r428",
      "r429",
      "r430",
      "r438",
      "r558",
      "r596",
      "r597"
     ]
    },
    "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum annual contributions per employee, percent",
        "label": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent",
        "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.virco.com/role/NetincomeperShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/NetincomeperShareDetails",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Basic (shares)",
        "terseLabel": "Weighted average shares outstanding - basic (shares)",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r187",
      "r193"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://www.virco.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effective tax rate",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r410"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Stock-based compensation",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_TaxesPayableCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "TaxesPayableCurrentAndNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax payable",
        "label": "Taxes Payable",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r111",
      "r123"
     ]
    },
    "us-gaap_LiabilitiesNoncurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LiabilitiesNoncurrentAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Non-current liabilities:",
        "label": "Liabilities, Noncurrent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails",
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Defined Benefit Plans and Other Postretirement Benefit Plans Disclosures [Table]",
        "label": "Defined Benefit Plans and Other Postretirement Benefit Plans Disclosures [Table]",
        "documentation": "Disclosures and provisions pertaining to defined benefit pension plans or other postretirement defined benefit plans. The arrangements are generally based on terms and conditions stipulated by the entity, and which contain a promise by the employer to pay certain amounts or awards at designated future dates, including a period after retirement, upon compliance with stipulated requirements. Excludes disclosures pertaining to defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r89",
      "r90",
      "r91",
      "r92"
     ]
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.virco.com/role/NetincomeperShareDetails",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Basic (usd per share)",
        "terseLabel": "Net income (loss) per share - basic (usd per share)",
        "label": "Earnings Per Share, Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r187",
      "r189",
      "r191",
      "r192",
      "r193",
      "r197",
      "r433",
      "r434",
      "r478",
      "r483",
      "r504"
     ]
    },
    "us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedBenefitPlanAmortizationOfPriorServiceCostCredit",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of prior service cost",
        "label": "Defined Benefit Plan, Amortization of Prior Service Cost (Credit)",
        "documentation": "Amount of prior service cost (credit) recognized in net periodic benefit cost (credit) of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r299",
      "r338",
      "r358",
      "r515",
      "r516"
     ]
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AmortizationOfFinancingCosts",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of debt issuance costs",
        "label": "Amortization of Debt Issuance Costs",
        "documentation": "Amount of amortization expense attributable to debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r276",
      "r450",
      "r544"
     ]
    },
    "us-gaap_UnrealizedGainLossOnInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "UnrealizedGainLossOnInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Unrealized (gain) loss on investment in trust account",
        "negatedTerseLabel": "Non-cash unrealized (gain) loss on investment",
        "label": "Unrealized Gain (Loss) on Investments",
        "documentation": "Amount of unrealized gain (loss) on investment."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested in period (shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r387"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r160",
      "r161"
     ]
    },
    "us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan settlement",
        "label": "Defined Benefit Plan, Benefit Obligation, (Increase) Decrease for Remeasurement due to Settlement",
        "documentation": "Amount of (increase) decrease to benefit obligation of defined benefit plan from remeasurement due to settlement. Excludes decrease to benefit obligation for settlement payment."
       }
      }
     },
     "auth_ref": [
      "r562"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred income taxes",
        "label": "Deferred Income Taxes and Tax Credits",
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "calculation": {
      "http://www.virco.com/role/NetincomeperShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/NetincomeperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net effect of dilutive share-based on the treasury stock method using average market price (shares)",
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment",
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation."
       }
      }
     },
     "auth_ref": [
      "r551"
     ]
    },
    "us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails",
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]",
        "label": "Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.virco.com/role/NetincomeperShareDetails",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Diluted (usd per share)",
        "terseLabel": "Net income (loss) per share - diluted (usd per share)",
        "label": "Earnings Per Share, Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r189",
      "r191",
      "r192",
      "r193",
      "r197",
      "r433",
      "r434",
      "r478",
      "r483",
      "r504"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Awards available for future issuance (shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r136",
      "r163",
      "r221",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r428",
      "r429",
      "r430",
      "r438",
      "r527",
      "r558",
      "r596",
      "r597"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Current liabilities:",
        "label": "Liabilities, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://www.virco.com/role/DebtLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]",
        "label": "Schedule of Long-Term Debt Instruments [Table]",
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r81",
      "r82",
      "r83",
      "r84",
      "r104",
      "r105",
      "r107",
      "r120",
      "r166",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r260",
      "r266",
      "r267",
      "r268",
      "r269",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r279",
      "r451",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r545"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "localname": "US",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "United States [Member]",
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets, net",
        "label": "Other Assets, Noncurrent",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r139"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Weighted average shares of common stock outstanding:",
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Awards authorized (shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r525"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax expense",
        "label": "Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r165",
      "r182",
      "r183",
      "r204",
      "r409",
      "r421",
      "r423",
      "r484"
     ]
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other accrued liabilities",
        "label": "Other Accrued Liabilities, Current",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.virco.com/role/Debt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Debt",
        "label": "Debt Disclosure [Text Block]",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r162",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r270",
      "r277",
      "r278",
      "r280"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Costs of goods sold",
        "label": "Cost of Goods and Services Sold",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r473"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.virco.com/role/SeasonalityDetails",
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement Location [Domain]",
        "label": "Income Statement Location [Domain]",
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r230"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock",
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r548",
      "r549",
      "r592"
     ]
    },
    "us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pension expense",
        "label": "Net Periodic Defined Benefits Expense (Reversal of Expense), Excluding Service Cost Component",
        "documentation": "Amount of expense (reversal of expense) for net periodic benefit cost components, excluding service cost component, of defined benefit plan. Amount includes, but is not limited to, interest cost, expected (return) loss on plan asset, amortization of prior service cost (credit), amortization of (gain) loss, amortization of transition (asset) obligation, settlement (gain) loss, curtailment (gain) loss and certain termination benefits."
       }
      }
     },
     "auth_ref": [
      "r299"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.virco.com/role/InventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Inventory",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r16",
      "r17",
      "r18"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Investing activities:",
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentFeeAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DebtInstrumentFeeAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-refundable fee",
        "label": "Debt Instrument, Fee Amount",
        "documentation": "Amount of the fee that accompanies borrowing money under the debt instrument."
       }
      }
     },
     "auth_ref": [
      "r25"
     ]
    },
    "us-gaap_PaymentsToAcquireMarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PaymentsToAcquireMarketableSecurities",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Purchases of marketable securities in trust accounts",
        "label": "Payments to Acquire Marketable Securities",
        "documentation": "Amount of cash outflow for purchase of marketable security."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net sales",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r200",
      "r201",
      "r206",
      "r209",
      "r210",
      "r214",
      "r215",
      "r216",
      "r292",
      "r293",
      "r473"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid expenses and other current assets",
        "label": "Prepaid Expense and Other Assets, Current",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r539"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and Contingencies Disclosure [Abstract]",
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Capital expenditures",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 15.0
      },
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.virco.com/role/NetincomeperShareDetails",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome",
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income",
        "terseLabel": "Net income",
        "verboseLabel": "Net income (loss)",
        "label": "Net Income (Loss) Attributable to Parent",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r56",
      "r118",
      "r130",
      "r134",
      "r146",
      "r148",
      "r152",
      "r163",
      "r172",
      "r176",
      "r177",
      "r178",
      "r179",
      "r182",
      "r183",
      "r190",
      "r205",
      "r207",
      "r211",
      "r213",
      "r221",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r434",
      "r438",
      "r505",
      "r558"
     ]
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ScheduleOfRestructuringAndRelatedCostsTable",
     "presentation": [
      "http://www.virco.com/role/SeasonalityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Restructuring and Related Costs [Table]",
        "label": "Schedule of Restructuring and Related Costs [Table]",
        "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234"
     ]
    },
    "us-gaap_LeaseholdImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LeaseholdImprovementsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leasehold improvements",
        "label": "Leasehold Improvements, Gross",
        "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r67"
     ]
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument [Axis]",
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r6",
      "r7",
      "r110",
      "r112",
      "r121",
      "r166",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r260",
      "r266",
      "r267",
      "r268",
      "r269",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r451",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r545"
     ]
    },
    "us-gaap_LiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LiabilitiesAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Liabilities",
        "label": "Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and contingencies (Notes 6, 7 and 13)",
        "label": "Commitments and Contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r116",
      "r128"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventories",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://www.virco.com/role/Inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventories",
        "label": "Inventory Disclosure [Text Block]",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r226"
     ]
    },
    "us-gaap_PaymentsOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PaymentsOfFinancingCosts",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment of deferred financing costs",
        "label": "Payments of Financing Costs",
        "documentation": "The cash outflow for loan and debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r49"
     ]
    },
    "us-gaap_LeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total lease cost",
        "label": "Lease, Cost",
        "documentation": "Amount of lease cost recognized by lessee for lease contract."
       }
      }
     },
     "auth_ref": [
      "r462",
      "r526"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r370",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397"
     ]
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "presentation": [
      "http://www.virco.com/role/WarrantyAccrualTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Product Warranty Liability",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r76"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Common stock, par value (usd per share)",
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Thereafter",
        "label": "Lessee, Operating Lease, Liability, Payments Due After Year Four",
        "documentation": "Lessee, Operating Lease, Liability, Payments Due After Year Four"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://www.virco.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Quantitative Information of Leases",
        "label": "Lease, Cost [Table Text Block]",
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income."
       }
      }
     },
     "auth_ref": [
      "r594"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2022",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.virco.com/role/BasisofPresentationDetails",
      "http://www.virco.com/role/ContingenciesDetails",
      "http://www.virco.com/role/DebtNarrativeDetails",
      "http://www.virco.com/role/WarrantyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum",
        "verboseLabel": "Maximum [Member]",
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r237",
      "r239",
      "r240",
      "r241",
      "r366",
      "r472",
      "r485",
      "r498",
      "r499",
      "r511",
      "r523",
      "r529",
      "r560",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Authorized 25,000,000 shares, $0.01 par value; issued and outstanding 16,347,314 shares at 10/31/2023 and 16,210,985 at 1/31/2023 and 10/31/2022",
        "label": "Common Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r527"
     ]
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of Goods Sold [Member]",
        "label": "Cost of Sales [Member]",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases [Abstract]",
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.virco.com/role/NetincomeperShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r551"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less accumulated depreciation and amortization",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r138"
     ]
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.virco.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax Disclosure [Text Block]",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r164",
      "r411",
      "r412",
      "r414",
      "r420",
      "r422",
      "r424",
      "r425",
      "r426"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Financing activities:",
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r53",
      "r56"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Loss",
        "label": "AOCI Attributable to Parent [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r35",
      "r98",
      "r466",
      "r486",
      "r487",
      "r540",
      "r541",
      "r542",
      "r548",
      "r549",
      "r550"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in investing activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r159"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncreaseDecreaseInOtherReceivables",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other receivables",
        "label": "Increase (Decrease) in Other Receivables",
        "documentation": "Amount of increase (decrease) in receivables classified as other."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_PostemploymentBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PostemploymentBenefitsDisclosureTextBlock",
     "presentation": [
      "http://www.virco.com/role/RetirementPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retirement Plans",
        "label": "Postemployment Benefits Disclosure [Text Block]",
        "documentation": "The entire disclosure for postemployment benefits, which may include supplemental unemployment benefits, obligations recognized for all types of benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement. Disclosure may also include discussion that an obligation for postemployment benefits is not accrued in accordance with regulation only because the amount cannot be reasonably estimated."
       }
      }
     },
     "auth_ref": [
      "r296",
      "r297"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock, Shares, Issued",
        "verboseLabel": "Common stock, shares issued (shares)",
        "label": "Common Stock, Shares, Issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated other comprehensive loss",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r34",
      "r35",
      "r142",
      "r481",
      "r490",
      "r493"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.virco.com/role/InventoriesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.virco.com/role/InventoriesDetails",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "totalLabel": "Total inventories",
        "label": "Inventory, Net",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r143",
      "r500",
      "r527"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) provided by financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r159"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://www.virco.com/role/DebtLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument [Line Items]",
        "label": "Debt Instrument [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-average remaining lease term (years)",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r460",
      "r526"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Incorporation, State or Country Code",
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "City Area Code",
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current Fiscal Year End Date",
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Selling, general and administrative expenses",
        "label": "Selling, General and Administrative Expense",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LineOfCreditFacilityIncreaseDecreaseForPeriodNet",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility, net",
        "label": "Line of Credit Facility, Increase (Decrease), Net",
        "documentation": "Amount of increase (decrease) of the credit facility."
       }
      }
     },
     "auth_ref": [
      "r545"
     ]
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Provision for doubtful accounts",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r225"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Selling, General and Administrative Expenses [Member]",
        "label": "Selling, General and Administrative Expenses [Member]",
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of Credit Facility, Lender [Domain]",
        "label": "Line of Credit Facility, Lender [Domain]",
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r545"
     ]
    },
    "virc_PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "PropertyPlantAndEquipmentIncludedinAPAndAccruedExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant And Equipment Included in AP And Accrued Expense",
        "label": "Property, Plant And Equipment Included in AP And Accrued Expense",
        "documentation": "Property, Plant And Equipment Included in AP And Accrued Expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityInterestRateDuringPeriod": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LineOfCreditFacilityInterestRateDuringPeriod",
     "presentation": [
      "http://www.virco.com/role/DebtLongtermDebtDetails",
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest rate during period",
        "label": "Line of Credit Facility, Interest Rate During Period",
        "documentation": "The effective interest rate during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Local Phone Number",
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Operating lease liability, less current portion",
        "terseLabel": "Long-term lease liabilities",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r455"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional paid-in capital",
        "label": "Additional Paid in Capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r527"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Current portion operating lease liability",
        "terseLabel": "Short-term lease liabilities",
        "label": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r455"
     ]
    },
    "virc_NoncashRentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "NoncashRentExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Non-cash lease benefits",
        "label": "Non-cash Rent Expense",
        "documentation": "Non-cash Rent Expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "presentation": [
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "virc_EquipmentLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "EquipmentLoanMember",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equipment Loan [Member]",
        "label": "Equipment Loan [Member]",
        "documentation": "Equipment Loan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Face amount",
        "label": "Debt Instrument, Face Amount",
        "documentation": "Face (par) amount of debt instrument at time of issuance."
       }
      }
     },
     "auth_ref": [
      "r105",
      "r107",
      "r254",
      "r451",
      "r507",
      "r508"
     ]
    },
    "us-gaap_DividendsPayableAmountPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DividendsPayableAmountPerShare",
     "presentation": [
      "http://www.virco.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividends payable (in dollars per share)",
        "label": "Dividends Payable, Amount Per Share",
        "documentation": "The per share amount of a dividend declared, but not paid, as of the financial reporting date."
       }
      }
     },
     "auth_ref": [
      "r59"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional Paid-in Capital",
        "label": "Additional Paid-in Capital [Member]",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r403",
      "r404",
      "r405",
      "r548",
      "r549",
      "r550",
      "r592"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease right-of-use assets",
        "label": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r454"
     ]
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/DebtLongtermDebtDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.virco.com/role/DebtLongtermDebtDetails",
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Long-term debt",
        "terseLabel": "Long-term debt",
        "label": "Long-Term Debt",
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r112",
      "r124",
      "r267",
      "r281",
      "r507",
      "r508"
     ]
    },
    "us-gaap_DefinedBenefitPlanContributionsByEmployer": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedBenefitPlanContributionsByEmployer",
     "crdr": "debit",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contributions by employer",
        "label": "Defined Benefit Plan, Plan Assets, Contributions by Employer",
        "documentation": "Amount of contribution received by defined benefit plan from employer which increases plan assets."
       }
      }
     },
     "auth_ref": [
      "r315",
      "r324",
      "r361",
      "r513",
      "r514",
      "r515",
      "r516"
     ]
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Interest expense",
        "label": "Interest Expense",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r106",
      "r119",
      "r153",
      "r202",
      "r449"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title of 12(b) Security",
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r530"
     ]
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Current Reporting Status",
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "virc_PNCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "PNCMember",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PNC [Member]",
        "label": "P.N.C [Member]",
        "documentation": "P.N.C [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LossContingenciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LossContingenciesLineItems",
     "presentation": [
      "http://www.virco.com/role/ContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loss Contingencies [Line Items]",
        "label": "Loss Contingencies [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest rate",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r255"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Shell Company",
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r531"
     ]
    },
    "us-gaap_LossContingencyDisclosures": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LossContingencyDisclosures",
     "presentation": [
      "http://www.virco.com/role/Contingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingencies",
        "label": "Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for loss and gain contingencies. Describes any existing condition, situation, or set of circumstances involving uncertainty as of the balance sheet date (or prior to issuance of the financial statements) as to a probable or reasonably possible loss incurred by an entity that will ultimately be resolved when one or more future events occur or fail to occur, and typically discloses the amount of loss recorded or a range of possible loss, or an assertion that no reasonable estimate can be made."
       }
      }
     },
     "auth_ref": [
      "r235",
      "r236",
      "r238",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total lease liabilities",
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r455"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedBenefitPlanExpectedReturnOnPlanAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Expected return on plan assets",
        "label": "Defined Benefit Plan, Expected Return (Loss) on Plan Assets",
        "documentation": "Amount of expected return (loss) recognized in net periodic benefit (cost) credit, calculated based on expected long-term rate of return and market-related value of plan assets of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r299",
      "r336",
      "r356",
      "r515",
      "r516"
     ]
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Filer Category",
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r531"
     ]
    },
    "virc_AutomobileLiabilityLossMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "AutomobileLiabilityLossMember",
     "presentation": [
      "http://www.virco.com/role/ContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Automobile Liability Loss [Member]",
        "label": "Automobile Liability Loss [Member]",
        "documentation": "Automobile Liability Loss [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of Credit Facility [Line Items]",
        "label": "Line of Credit Facility [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Symbol",
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Small Business",
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r531"
     ]
    },
    "us-gaap_LongTermDebtCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LongTermDebtCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/DebtLongtermDebtDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/DebtLongtermDebtDetails",
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Current portion of long-term debt",
        "terseLabel": "Less current portion",
        "label": "Long-Term Debt, Current Maturities",
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Security Exchange Name",
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r532"
     ]
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Emerging Growth Company",
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r531"
     ]
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCost",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Benefit cost",
        "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit)",
        "documentation": "Amount of net periodic benefit cost (credit) for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r333",
      "r353",
      "r515",
      "r516"
     ]
    },
    "us-gaap_DefinedBenefitPlanInterestCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedBenefitPlanInterestCost",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest cost",
        "label": "Defined Benefit Plan, Interest Cost",
        "documentation": "Amount of cost recognized for passage of time related to defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r299",
      "r304",
      "r335",
      "r355",
      "r515",
      "r516"
     ]
    },
    "us-gaap_LossContingenciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LossContingenciesTable",
     "presentation": [
      "http://www.virco.com/role/ContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loss Contingencies [Table]",
        "label": "Loss Contingencies [Table]",
        "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r71",
      "r235",
      "r237",
      "r239",
      "r554",
      "r555"
     ]
    },
    "virc_SeasonalityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "SeasonalityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Seasonality [Abstract]",
        "label": "Seasonality [Abstract]",
        "documentation": "Seasonality."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedBenefitPlanServiceCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedBenefitPlanServiceCost",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Service cost",
        "label": "Defined Benefit Plan, Service Cost",
        "documentation": "Amount of cost for actuarial present value of benefits attributed to service rendered by employee for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r302",
      "r334",
      "r354",
      "r515",
      "r516"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Common Stock, Shares Outstanding",
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Changes in operating assets and liabilities:",
        "label": "Increase (Decrease) in Operating Capital [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Borrowing from long-term debt",
        "label": "Proceeds from Issuance of Long-Term Debt",
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r47"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Depreciation and amortization",
        "label": "Depreciation, Depletion and Amortization",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r203"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Transition Report",
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r534"
     ]
    },
    "virc_AmendedAndRestatedCreditAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "AmendedAndRestatedCreditAgreementMember",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amended and Restated Credit Agreement",
        "label": "Amended and Restated Credit Agreement [Member]",
        "documentation": "Amended and Restated Credit Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromLifeInsurancePolicies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ProceedsFromLifeInsurancePolicies",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from surrendering life insurance policies",
        "label": "Proceeds from Life Insurance Policy",
        "documentation": "Amount of cash inflow for proceeds from settlement of corporate-owned life insurance policy, classified as investing activities. Includes, but is not limited to, bank-owned life insurance policy."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r50"
     ]
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCostAbstract",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Components of Net Cost",
        "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes Paid, Net",
        "label": "Income Taxes Paid, Net",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes."
       }
      }
     },
     "auth_ref": [
      "r58"
     ]
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTextBlock",
     "presentation": [
      "http://www.virco.com/role/RetirementPlansTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Defined Benefit Plans Disclosures",
        "label": "Schedule of Defined Benefit Plans Disclosures [Table Text Block]",
        "documentation": "Tabular disclosure of one or more of the entity's defined benefit pension plans or one or more other defined benefit postretirement plans, separately for pension plans and other postretirement benefit plans including the entity's schedule of fair value of plan assets for defined benefit or other postretirement plans."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r89",
      "r90",
      "r91",
      "r92"
     ]
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Tax withholding payments on share-based compensation",
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r157"
     ]
    },
    "us-gaap_IncomeTaxesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncomeTaxesReceivable",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income tax receivable",
        "label": "Income Taxes Receivable, Current",
        "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r129",
      "r538"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2022",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.virco.com/role/ContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product and Service [Domain]",
        "label": "Product and Service [Domain]"
       }
      }
     },
     "auth_ref": [
      "r214",
      "r473",
      "r512",
      "r528",
      "r556",
      "r557",
      "r561",
      "r604"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses and other current assets",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "virc_CreditAgreementAmendmentFee": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "CreditAgreementAmendmentFee",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Waiver and amendment fee",
        "label": "Credit Agreement, Amendment Fee",
        "documentation": "Credit Agreement, Amendment Fee"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Address Line One",
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Interactive Data Current",
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r535"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive income:",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LongtermDebtTypeDomain",
     "presentation": [
      "http://www.virco.com/role/DebtLongtermDebtDetails",
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term Debt, Type [Domain]",
        "label": "Long-Term Debt, Type [Domain]",
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r78"
     ]
    },
    "virc_LineOfCreditFacilityBorrowingCapacityTerm": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "LineOfCreditFacilityBorrowingCapacityTerm",
     "crdr": "credit",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility, term",
        "label": "Line Of Credit Facility, Borrowing Capacity, Term",
        "documentation": "Line Of Credit Facility, Borrowing Capacity, Term"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringCostAndReserveLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RestructuringCostAndReserveLineItems",
     "presentation": [
      "http://www.virco.com/role/SeasonalityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Cost and Reserve [Line Items]",
        "label": "Restructuring Cost and Reserve [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Domain]",
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591"
     ]
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, City or Town",
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "LongtermDebtTypeAxis",
     "presentation": [
      "http://www.virco.com/role/DebtLongtermDebtDetails",
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term Debt, Type [Axis]",
        "label": "Long-Term Debt, Type [Axis]",
        "documentation": "Information by type of long-term debt."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_MortgagesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "MortgagesMember",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Original Mortgage Note",
        "label": "Mortgages [Member]",
        "documentation": "A loan to finance the purchase of real estate where the lender has a lien on the property as collateral for the loan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement."
       }
      }
     },
     "auth_ref": [
      "r93"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Property, plant and equipment:",
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Axis]",
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591"
     ]
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, State or Province",
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accumulated deficit",
        "label": "Retained Earnings (Accumulated Deficit)",
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r85",
      "r125",
      "r489",
      "r493",
      "r527"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2022",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.virco.com/role/ContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product and Service [Axis]",
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r214",
      "r473",
      "r512",
      "r528",
      "r556",
      "r557",
      "r561",
      "r604"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Current assets:",
        "label": "Assets, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r144",
      "r163",
      "r221",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r427",
      "r429",
      "r438",
      "r527",
      "r558",
      "r559",
      "r596"
     ]
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Postal Zip Code",
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveIncomeLoss",
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Pension adjustments, net of tax effect",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, after Tax",
        "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r32"
     ]
    },
    "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward",
     "presentation": [
      "http://www.virco.com/role/WarrantyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Warranty claim activity",
        "label": "Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Deficit",
        "label": "Retained Earnings [Member]",
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r167",
      "r168",
      "r169",
      "r173",
      "r181",
      "r183",
      "r222",
      "r403",
      "r404",
      "r405",
      "r415",
      "r416",
      "r432",
      "r486",
      "r488"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income per common share:",
        "terseLabel": "Earnings Per Share [Abstract]",
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "virc_SurrenderOfLifeInsurancePolicies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "SurrenderOfLifeInsurancePolicies",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Surrender of life insurance policies",
        "label": "Surrender of Life Insurance Policies",
        "documentation": "Surrender of Life Insurance Policies"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, shares issued (shares)",
        "label": "Preferred Stock, Shares Issued",
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r282"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://www.virco.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event [Member]",
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r448",
      "r469"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument, Name [Domain]",
        "label": "Debt Instrument, Name [Domain]",
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r166",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r260",
      "r266",
      "r267",
      "r268",
      "r269",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r451",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r545"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Preferred stock, par value (usd per share)",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r282"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.virco.com/role/NetlossperShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net income per Share",
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r195",
      "r196",
      "r198"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://www.virco.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event Type [Domain]",
        "label": "Subsequent Event Type [Domain]",
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r448",
      "r469"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.virco.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event Type [Axis]",
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r448",
      "r469"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Component [Domain]",
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r132",
      "r150",
      "r151",
      "r152",
      "r167",
      "r168",
      "r169",
      "r173",
      "r181",
      "r183",
      "r199",
      "r222",
      "r283",
      "r403",
      "r404",
      "r405",
      "r415",
      "r416",
      "r432",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r466",
      "r486",
      "r487",
      "r488"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r163",
      "r205",
      "r207",
      "r211",
      "r213",
      "r221",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r438",
      "r505",
      "r558"
     ]
    },
    "us-gaap_ShortTermLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ShortTermLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Short-term lease cost",
        "label": "Short-Term Lease, Cost",
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less."
       }
      }
     },
     "auth_ref": [
      "r457",
      "r526"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash at beginning of period",
        "periodEndLabel": "Cash at end of period",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r57",
      "r61"
     ]
    },
    "us-gaap_SubsequentEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SubsequentEventLineItems",
     "presentation": [
      "http://www.virco.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event [Line Items]",
        "label": "Subsequent Event [Line Items]",
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DebtInstrumentTerm",
     "presentation": [
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Term",
        "label": "Debt Instrument, Term",
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "virc_ProductWarranty": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "ProductWarranty",
     "presentation": [
      "http://www.virco.com/role/WarrantyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product warranty period",
        "label": "Product Warranty",
        "documentation": "Product warranty."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Stock Units (RSUs) [Member]",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Registrant Name",
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r531"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accounts payable",
        "label": "Accounts Payable, Current",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r527"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Preferred stock, shares authorized (shares)",
        "label": "Preferred Stock, Shares Authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1",
     "crdr": "debit",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation expense",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount",
        "documentation": "Amount of cost expensed and capitalized for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r398"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net increase in cash",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r103"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Events [Abstract]",
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "Cash",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Cash",
        "label": "Cash",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r495",
      "r496",
      "r527",
      "r536"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Authorized 3,000,000 shares, $0.01 par value; none issued or outstanding",
        "label": "Preferred Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r527"
     ]
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.virco.com/role/DebtLongtermDebtDetails",
      "http://www.virco.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving Credit Facility [Member]",
        "label": "Revolving Credit Facility [Member]",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://www.virco.com/role/SeasonalityDetails",
      "http://www.virco.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement Location [Axis]",
        "label": "Income Statement Location [Axis]",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r227",
      "r230"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Central Index Key",
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r531"
     ]
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Comprehensive Income [Abstract]",
        "label": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Financial Position [Abstract]",
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Disclosure [Abstract]",
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Disclosure [Abstract]",
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity File Number",
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Components [Axis]",
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r80",
      "r132",
      "r150",
      "r151",
      "r152",
      "r167",
      "r168",
      "r169",
      "r173",
      "r181",
      "r183",
      "r199",
      "r222",
      "r283",
      "r403",
      "r404",
      "r405",
      "r415",
      "r416",
      "r432",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r466",
      "r486",
      "r487",
      "r488"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.virco.com/role/BasisofPresentationDetails",
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Line Items]",
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from sale of marketable securities in trust accounts",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r44"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, shares outstanding (shares)",
        "label": "Preferred Stock, Shares Outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.virco.com/role/StockBasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-Based Compensation",
        "label": "Share-Based Payment Arrangement [Text Block]",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r371",
      "r399",
      "r400",
      "r402",
      "r406",
      "r524"
     ]
    },
    "virc_ScheduleOfWarrantyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "ScheduleOfWarrantyTable",
     "presentation": [
      "http://www.virco.com/role/WarrantyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Warranty [Table]",
        "label": "Schedule of Warranty [Table]",
        "documentation": "Schedule of Warranty [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "virc_DeliveryCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.virco.com/20231031",
     "localname": "DeliveryCostsTextBlock",
     "presentation": [
      "http://www.virco.com/role/DeliveryCosts"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Delivery Costs",
        "label": "Delivery Costs [Text Block]",
        "documentation": "Delivery Costs [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "MachineryAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Machinery and equipment",
        "label": "Machinery and Equipment, Gross",
        "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": [
      "r67"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets",
      "http://www.virco.com/role/UnauditedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity",
        "periodStartLabel": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "label": "Stockholders' Equity Attributable to Parent",
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r13",
      "r14",
      "r64",
      "r527",
      "r546",
      "r552",
      "r593"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.virco.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Tax Identification Number",
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r531"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Cash Flows [Abstract]",
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before income taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r108",
      "r117",
      "r131",
      "r205",
      "r207",
      "r211",
      "r213",
      "r479",
      "r505"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based Payment Arrangement [Abstract]",
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2022",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.virco.com/role/BasisofPresentationDetails",
      "http://www.virco.com/role/ContingenciesDetails",
      "http://www.virco.com/role/DebtNarrativeDetails",
      "http://www.virco.com/role/WarrantyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Axis]",
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r237",
      "r239",
      "r240",
      "r241",
      "r322",
      "r366",
      "r394",
      "r395",
      "r396",
      "r471",
      "r472",
      "r485",
      "r498",
      "r499",
      "r511",
      "r523",
      "r529",
      "r553",
      "r560",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603"
     ]
    },
    "us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "localname": "PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract",
     "presentation": [
      "http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Preferred stock:",
        "label": "Preferred Stock, Number of Shares, Par Value and Other Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2022",
     "localname": "RangeMember",
     "presentation": [
      "http://www.virco.com/role/BasisofPresentationDetails",
      "http://www.virco.com/role/ContingenciesDetails",
      "http://www.virco.com/role/DebtNarrativeDetails",
      "http://www.virco.com/role/WarrantyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Domain]",
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r237",
      "r239",
      "r240",
      "r241",
      "r322",
      "r366",
      "r394",
      "r395",
      "r396",
      "r471",
      "r472",
      "r485",
      "r498",
      "r499",
      "r511",
      "r523",
      "r529",
      "r553",
      "r560",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "205",
   "URI": "https://asc.fasb.org/topic&trid=2122149"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(24))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(25))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(26))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(b))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.24)",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(i-k)",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "10A",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "11",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e640-108580"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e689-108580"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(8))",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "21C",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=SL94080552-108585"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "24",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(g)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "28",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4304-108586"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4313-108586"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "310",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "320",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "11",
   "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "330",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12021-110248"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12053-110248"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "((c)(3))",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "((c)(3,4))",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(5)",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "URI": "https://asc.fasb.org/topic&trid=2155896"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "URI": "https://asc.fasb.org/topic&trid=2208564"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "6",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "7",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "712",
   "SubTopic": "10",
   "Section": "15",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "712",
   "SubTopic": "10",
   "Section": "15",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2410-114920"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2439-114920"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "17",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "19",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "URI": "https://asc.fasb.org/topic&trid=2197479"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "830",
   "SubTopic": "230",
   "Section": "45",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1A",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "3",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "55",
   "Paragraph": "8",
   "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "940",
   "SubTopic": "20",
   "Section": "25",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.10)",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "220",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "220",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "220",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.9)",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(16))",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15))",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03.5(c))",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "220",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "220",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(8))",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "105",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "105",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "205",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "7",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "17A",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL34724391-108580"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "6",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(210.5-03(11))",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "24",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "235",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "235",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "235",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "235",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "235",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "24",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "6",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=SL108384541-122693"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "URI": "https://asc.fasb.org/topic&trid=2122394"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "10",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "7",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "15",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "272",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "40",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "42",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "310",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "310",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "9",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "310",
   "SubTopic": "20",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "310",
   "SubTopic": "20",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "323",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "326",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "326",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "326",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "326",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(b)(1))",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "URI": "https://asc.fasb.org/subtopic&trid=2127163"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=6397426&loc=d3e17499-108355"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "30",
   "URI": "https://asc.fasb.org/subtopic&trid=2127197"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1B",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "10",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "15",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "712",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=6410195&loc=d3e80090-111668"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "712",
   "URI": "https://asc.fasb.org/topic&trid=2197446"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "45",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=123453770&loc=d3e1703-114919"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "45",
   "Paragraph": "3A",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=123453770&loc=SL108413299-114919"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "45",
   "Paragraph": "3A",
   "URI": "https://asc.fasb.org/extlink&oid=123453770&loc=SL108413299-114919"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(10)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(4)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(5)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(6)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(7)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(8)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(9)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(5)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(6)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(7)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(8)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(4)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(5)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(6)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(7)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(j)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(4)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2410-114920"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2439-114920"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(5)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(6)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(7)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "8",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2919-114920"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "70",
   "Section": "50",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "35",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=29639808&loc=d3e29008-114946"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "50",
   "Paragraph": "11",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450691-114947"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "35",
   "Paragraph": "1D",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "35",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "35",
   "Paragraph": "3",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "6",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "10",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "12",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "14",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(e)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(e)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(e)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "20",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "270",
   "Section": "50",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "830",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "17",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "830",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "830",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "830",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "830",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "830",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "830",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "3",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "6",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "URI": "https://asc.fasb.org/subtopic&trid=77888251"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "848",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL122150809-237846"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "848",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "848",
   "SubTopic": "10",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "855",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "855",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "855",
   "URI": "https://asc.fasb.org/topic&trid=2122774"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "860",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "910",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "924",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "926",
   "SubTopic": "20",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "926",
   "SubTopic": "20",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "926",
   "SubTopic": "20",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "220",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "220",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "235",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "360",
   "Section": "50",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "220",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "220",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "220",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iii)",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iv)",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1B",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "946",
   "SubTopic": "210",
   "Section": "45",
   "Paragraph": "20",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "946",
   "SubTopic": "210",
   "Section": "45",
   "Paragraph": "21",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "954",
   "SubTopic": "310",
   "Section": "50",
   "Paragraph": "2",
   "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "976",
   "SubTopic": "310",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "978",
   "SubTopic": "310",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "52",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "31",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "69B",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "69C",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "69E",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "69F",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "17",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "18",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4587-114921"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "55",
   "Paragraph": "8",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "53",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "852",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "10",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "55",
   "Paragraph": "29F",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r536": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r537": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r538": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r539": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r540": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r541": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r542": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "6",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r543": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r544": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r545": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "235",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r546": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "235",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r547": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "235",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r548": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r549": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "24",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r550": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r551": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r552": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "323",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r553": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "410",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859"
  },
  "r554": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r555": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r556": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r557": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "450",
   "SubTopic": "20",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r558": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r559": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r560": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r561": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045"
  },
  "r562": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(10)",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r563": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "35",
   "Paragraph": "1",
   "URI": "https://asc.fasb.org/extlink&oid=29639808&loc=d3e29008-114946"
  },
  "r564": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "50",
   "Paragraph": "11",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r565": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "80",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450691-114947"
  },
  "r566": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r567": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r568": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r569": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r570": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r571": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r572": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r573": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r574": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r575": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r576": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r577": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r578": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r579": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r580": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r581": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r582": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r583": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r584": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r585": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r586": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r587": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r588": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r589": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r590": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r591": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r592": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r593": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r594": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r595": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "842",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "6",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980"
  },
  "r596": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "852",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r597": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "852",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r598": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "860",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r599": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "860",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r600": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "860",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r601": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "860",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r602": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "860",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r603": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "860",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r604": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Publisher": "FASB",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "4H",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>62
<FILENAME>0001628280-23-041138-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001628280-23-041138-xbrl.zip
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
M,_*%T8J]L2>9Y<?\C(ZBGB?F=Z(3\"P=M(WQGYW(I5%K8@W'PM"UPK" N5'
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
MDD05%V^*<T)\_TG_(+9@P9*L%\*<9]J#+/&F<6B&X,^B,+(\NJF]/&L>+ZD
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
M#&]0,PSM*&:E@/R) @?$%G5I?X#4!$,'?',0D" WP^'8]UW6!74$5A1)A4F
M#WZ,?=!%X(\&\-3YDWS\*Z<[ =\F#D5'2/!(W6P\3XB]5C"6)@Z*R!>,@R!3
MAJRV&DSJ,:'A_2B 9<)]0%5>F-AC_K)?#RA@,08F@P,R<LDP"N>' 0N-0;=&
MG1L,!>#ZWF/^IZ'00?RARU[B8 .C^ 2'.=DHW-?6NIZ&44&G)D4T?PWC4,/"
MR0>KUW>IZ OQ8 I=DH"&JM&J] ? 17/XQ:&6& SIT[$$)_@A0 TCD9B_$R9'
M&F#D#.,@->KGN6.+@IA6VV.083J#MX5C^&.*EX/!G'@!\\=;+P%)]/;S2MS"
M)B"Y)[#[N3[>M!?V7BSM#T<8X$#G29B"4T,#-.!/$$:#::V1Q-;#1<!I2M@1
MQ7QUPU@"LK5-K+_[@1/S' 4ZOG6$1RJPV4%BX=RC@6.C&^,Q0/_ <RGZX/2G
MP <A$*M#%[SQS11:>)22P_V^Z(0A97/"T!ER?S;KH+-JF^08*Z;X)&25BJI[
M\2'2T 7K.?#]B9BH%^R6@9(27%LR]F<T=D69 +@AI6]HX *9T7=M 7@!XW@T
M9(H?+B)GU+>'=^%9IHNJ"1^3DB2HM2COPI/Q,YS'*;C^"T@09S@_ZIJY+%8P
MYQL,:6"CB/EC4N>"=,LI7L/(W)2" *1,'#:=\Q]P)_7'44@Z 89AZ/OHB0P+
ML_B#R((%XGE9A($@=J2W.!\,R 2^IW$5UG$^3)U)8@!B6> ENBV<*\K$A$UK
MR]D4B"D)*2(VYK(KXWA_>8.PC*&%&U@-#UO)B;) $[OC,"%]07(BBA)T!4!X
MITM>P#2@.C;!"-W9>@@ZO8?I^#U$*@ !31VT5/ LOCL)D"R]+'T*$3CA]R1O
MXP?U+Y%Z?H &Q#TO/:T6"OUIKDWF)I4'OBGL SU/&OD18Y4#+(QFS>L\;V7
M(G+Q<9'UEL0$XS :7H),%*>$).&E,#Y>G_M0HQ'27N8[YFO _ %_]C*FQB>(
M ,R:8<8C/0!/+$G@O9? FH1SYWT11689(_,+$GF4<.M\-XL/XK7/U\V(([#8
M71.?JO^.\ >LB#+LLHT8)QTLO3-,P28^2*+D&9\),E,%B'ZN@A$<4_K=W++!
MHSAD$ 8O<,>)RU8V=O $B9(WVJ)@HR,[SL)$U,X=5 RX@$E!P ZU190B?Z="
MQJ<;@/>")#Z(=#<F8I_#LV'&*<N/8-X#.WC!-))!VO%)@NMS-X4E3\3&94)^
M"Z7!KD7YW([\=HK0;A,A&@L>YA+X4?;-*1=DF^FX,!0#'_-@D);F*1K+!FL<
M%0-FAO>!T*:Q\F6!3+D!_!L_ -GZ@R298PD!X_V3V)&9$ LUR6B&.L9V1C3E
M(YH#$\>;(&F_P.J  !S IA5GKL4$#KR)VCDYHX@!*FYR#9910)F";AC%QD)6
M@=JPP>?SV(%?9A*+Q8Z=K&11S*Y('^;2<%V\=1;H1[66Q"/C8T9@'P3WPK&(
MQ0-2'0W_H 3#]"\JJ\!K9:( 'O""!PPG2F/1>Q4)^NA%@SYWR4')MD196<L(
MGVCK@9[D8<Y1,E:T\Z;'WJ53 *@,MX78-65'J$C:?DAM,U3AP)BN\T]*CDSB
M_Y02$LAIP@A/G-N.)\:_^;.(G<3]'!\S4A49SN.8\U0%_#8QKC%4,R:6O:+5
MF341ID[%THF&248>YA6$8;SL)+DMV28^>>GTS\[<%[SXCXTOP=/E]@1L^%BZ
M^^A5HLQ<O ;E"2C-X8R=(S*%">A=O!5$%5HE-#D#CPB2L,Z<V!;BP5K8F(Z'
M3O;2 6TL.UC&J4=2":=+]\TS0RR4LPZ0#[K]J9TL8A[TZ& "4IZ:!+A$,;6U
M1 R):>. (@\D_] *D^3$V62:K).:%6)R)K%\2H)FRFN2(!6O@UHV,>ZS,J>6
M\Z;0>HI;):(Z":C6 (5%$2E224RY:F&(ITUY_'HI V)&K?IYF)TA%Z0PZI3D
M9!K6=C=*EH:'.<XB;.,B\8VL5S]@'A?F(+#HW/Q\G2G4I:39>;?'#<0=IY\F
MB34;&(/I:$;W"1M84VM(L_&H:\1R+^)],.#0+Q8(1XYGN0(@1^P4XN<+*V+(
M%9+;3\,QX-@E]Z.Y7+IEENDSPC)#ANNYSQ]/8B".?#3LJ4E$D1][H@A@&J:Q
MP:G;E":79GV+VA29N<OBAHQAI.VL&Y3K/!5"LL9*F5GV3!(^HR6. #_7FH;D
M.OGE Q@E4]=ZOW8\"@5ZTX?X87',#8-,*Q75-+3&OH[C3V:OHV@ZAJ#B?I_Q
MB^/H5(=&IU9JP-EWNMS1%'/CUU)'WO,[7=/VNG/;8F6U8_0V?[W_8GO:?G<V
M:[%ZKL?N:"M;H"2XS KDC&8=+.Q\FK85NXUP&B&6I2M5OEJJTSLN>&+)$\N2
MG2T=J@Z^ M [1<UZ4\":4.5RT^03,CI:'\NZ,E<'DMUPA<><J244+>WR9_ (
M._PY"ZY%6J <1ZC6_M):=SC?;0RG^OA\=CQV7DX/Y(_1V[P(S,[<&RLGY HW
MQZI"_ZN<>RO4<&Y[ ZRY@YC0&"U7HF.O'PEFO^2=R[OHB"5W6WU%$O6,WJZU
MG^O'^:2I?++6"?7X?(+]&771T-9K #F?<#ZI*)_L:*AX##[I 9]HHFRLC_D\
M'Y_4>M9G(>/S3S_XCJ<B\5DOG_-9"7,-L7+G/3"<',9>.,I<%17C8#7$1Z95
MF+#RVC?E$98B4?M&E0Z6VYRP*DQ8>0V"$@E+;O7EGMA3^+R]<Q@$C]:/^;'^
M48)1N9@KKR-1;^;*:PX 3KXD*#F,MQ3@+5V4C/6I ;5W2CE=%;8&RJ,K-J51
M[5;)B>-T=2YCH#RZPG&!FJA5BJXN(3CP3+N1.>FDWO(# \5.XC,:R-=EX$OI
M0<CR =0<(977J +!5%@<Z:V^WA--52[)-2D/@6?VF#DK<U8^GQV[#RMW6_VN
M(6I2E[,R9V7.RE5Q'?9A90.T,K!R5V\,*V<,05HKJMO6#"15L\!*%@ZO<^S*
M%:ES[&);TD(%,[]C$2N9-\C_'7NP9K3I4WKKI8Y*;[W4D=U??I4C>U?&"BK3
MJPHKP?SYG &7PD&@O4Y9 X"X;^:\6R:K);-F0-G^P*'5;>1MZK""[VC>4("U
M&$SJO!5)Z:X4;LVK)T/!&=%F4=AH,^D.2AL^TX:\5KILG[Z:-0,,604R;221
MK@J<WT6[W\8-'EF'_0WE1_&>:>%B_$BL!5T'R\H.9B$;58']Z%QGZ$0"5L:S
M(G,<A8$U\<DND>M%(2[3I#V#XW9<('8"5C>%-\,;[F?!E@N6FQY@0?:B+7K\
M;'@A7,&NIB64M'HIPIY2M*R-EJ3&?47B6F[65H3.56']0L*X;C/9:MS?"+@R
M(#9L-)SB!I<[/2W#,WYFTA?"G[(R05@Q\"CV,/;9:VG1>0IQO@=0HR!T(M:9
MC+9E'\"G0Z!$BQ:G W9_8&L4%WLS8(?C,.Y7PU[3$2@[)[5^\]Y6:V0>=SY[
M\2A@*+!HQP;@E#:M2&>PHI6SBR7BLM?:*%>S'<DJHV./X&4@L'D[=%@)&R%!
MDM9SK%_5YGX.6(S*NKZ_"R!SDRX<SWY N^.*PBT0'#S=<RPQ:;.!N&7UN8NF
M.@N@SL7%S31P7!0:^A*%_?5TM)5-5DOL']/07##&G8,M9I_H;=[G:WN?KY71
M9]7L\W5N34V'ZZRR;$I3KO?:8_.)$HTXF+TG#6N27ME1W&;17M:826]ZVC6%
M=LYA(W22P3EL)-#*)"9A0-ATHC5&HF78E(>2]R=,M'%H0,Q08) -XYY0*2LC
MYJXU$4X7F4B"Y.4C%\<>I+J-,UF&NM%C,XB2)I'"[6*]<UBPSEWX*<@L\@-+
MX=/M$Z>+SII)0_BDS5;</I/:3*D63O.6X9W,VG5W25MM5$/SK@AQ!TW:TPCG
M7\4(C%7W^CNH?@OCG@FL01AK81%O>C2C#0788]!L<N+2^VR-D71+?X]-P97>
M.-05:ONC-K8HHT0W'Z[U>/^-?9+,U1*3[E@4,=%*5ROV&5A7 6C@Q8RP>8OZ
MU7N6^V[1XOX .R<D33)QK_,EK$ASXL[;#<<MVBDR8WJ8#Z^ S3G8JH"J*UBW
MK"1#M^C%89AP3=(!B)*1M4H];)Z$'T1M^J#$O+RQ%^T<Q#0KI4@S::&'JWM-
M>F5MIC]Q07Q)&XK)!!< /+O$$@GYB-BU%=!(N_!L)J;YJY>(-TSUZ4IL+"]I
M]TD'B\1=)K+U^J*'Z!H$:5?=N#$%$)MCS^*&$41XF5G8HI\0BH3T56"IL!X;
M0R @));U\1?EM7"@-N>M'V[JV*"8U>K8\ _L$(LC>Q! Z1EH 7FQZ"A$:C0O
M3&4KC+L\A#L;*R2%MM(Y>BO\O_:^M+EM)$OPKR"T7=MV!$43X&W/*D(EVSWJ
MJ;+4DJMFY],&2"0EM$& C4,R^]?O>R\S<8,$>((4IF/*-DDD,E^^^QRW^P-U
MD]X*/;4]'(YV7ZNOM?O]P3Y:-G3WT+)A7YL=:</3V>S>(%NN<\>VE=SCS$^/
M68!=LJK].XVT_)U+TR\XPG(7/1=.$A3?4.DKA,3NZOQW6[L_-PW#8L?NB5"J
MUT29<Y>'7V%;B7.$K[8+JMP!"$\5?EOAYT&0\U0AN]MN*)IZUBU.6M0E#TX3
M<[_&6T13_""W#\J^ZR4.(7;S8]]W*4<']A/<JH:X;"[$\8Z\YQKIXQVL2A[#
M8'4>0S+(C!9^U6R&;@?85$L;CHZ:\<POH_8] QIB."HQ#/=.#"H1PZ@AAH88
MZDX,ZMZ)0;NXZK9&6D,,#3'4G1A&>R>&+A+#>/ON [LBA@-5A1WO^A]3,<A<
MDV?_G1-. __7F D$R^\ RAC^9U$<BQ_5XW9!V(#;'[VWQFE@R!K=N1R&]!%#
MCMN I<&0(RF4Y3!D &*RLW6KS@9#:HDA:[2L<AB"?2I'M9$R9^\X?L1*(E2?
M3'OJS-E&"M16W2:.=_1WN]2@!!AO"8IY>#W"<$\&K=^?JI7<($9)Q6DM8HP;
MQ#A+Q%BG+ZU#C%X'=:4&,<X.,=:I26L10ZT)8IR]C^G/9*9XXV':6#^2D%RE
M^O<T;.&JU47U;XS#0SJ82B$(M?5K\.,L\6.-NE0*/WK81*?Q/YYMP\<UFE,I
M',&>:;WC>B"/TLOY>%R -V_</"]Q]PV<CE<>43D:O\/F3,<[]0X5R8TC]+T!
MYFX-NEG7LKR28]#&9MD!>VCX=/@\FH:LWQ)9KU'_-R?K(9)U+R>FV)!U0]8-
M6>^9K-=8;9N3]>CBJM<:YI0=-&3=D'5#UGLFZS6&]N9D/2:R[C1*>,G8BMQ%
MF<GMFWN62JP1.VU.!]I=O*'9Y<GO\HQ<6?D\] X[2^4TXXQ:$'TL#!#N(G3>
MK%&?-<X^^GVC>\_*0@>IAIW1]#G6UH>M2PW9'6T.)!#PEK_8[BW99V]/DWK.
M:8VM0SIY2'.@KA8[FE!038,^ZMEV:!O?BZZ%7QWW ?ZLJDKW.ZA*=WN[FC*P
MF<8:7D9#$@U);&U7;DL2*I'$SF;H[((DSD@ESK_^!_Q[HF>NIS@3['S*=03V
M<_J,+9])B;#AG;O1$$Y!0ZQS0?J)L,.-:M)/AAVNT1!N](7IZQ9YV^XF<#2R
M,+U;T8@XCP-B3X;!<:<I;Z82-#3P1FE@C4JP 0UT00L8;%U!N$,:.'M/P7_3
M/YAQJ<.6]">6/R+E'4Z$\#)E"G4QQ$]YC;*9GG7@"OD]Z=?T9)$8=LT1[$'B
M%WV)-<5JPEB +4X_&H&+&!<Q!FQ@T>X73DIK[G#+.^P?X [[%U=:N[?R#L_>
MY,JPVT3GT\:<.G8=8ATH-*M[V<%\PMR5X\E[E0CXL\"Z!T"Z>^9.R6,CU+%+
M+2)9'&W<[F[ME-F-0G:,*_EEKR39H'%ZGN]^T'A(:%P3V_KX:%QB)G#^!.!^
M7J?QBYU-,LK.UOU-#OWZ7<=ID/ZR8,I1?U2?*4>_@V8T#^;)^6;AA%.:"II-
M0E  L=C4I_FO,XZ6=U/? 7+A_^BJ+9Q,V6W1M+$*,Y%67=N!)R3UVP.UM\F$
MI.&XW1MM-E1GY6B<4;NK'F8T3O:G.9P\OW'_@2K\"I)F0DPE<MQDU$%)E?RH
MA8Q?Q8ADFGO)^$#!O^MVH+M+!2EO5\-=2E]Z/:8U'&40PU$1(31L,1\&^&WO
M((,8CGKD/3NS3Z9 N;LN;WJ%=B*#WQQ]@ _<S;Z:J(?^#SE *H;"QU06M7VA
M\U;JZI:%SINYP8^*+#CX^_ M8MX4?7P.V#=8\?LKLUX8GS17E3H&G8NK?FND
M'3=WZBAM (Y-'8/#=YA\:]2!\N+[JU.9*&BX2?_(V0-O4F0,&Y%Q$*+ ,:UY
MF*]=7&T]Q:01!56Q?M2(@D-@_5<G2)D/,_,G,R[_S5PGCQBZ6! YTE3M4R,(
M#HH?WY^9R_29S]Q&'%0EC!?3G9:FBFN$\2:DT=L9:9R>M#A>T67D3YOHEFY/
M651G)B,BVTB2<L.$Z]5N<?L*_QT)F,I&1A]4K=:HES4RSJ@!P%E7_Q<<]5SK
MP$L.'RM3SM)HM6N83@&[N<%,[^K58(,!.OF X[P]-?9XA/&;8S_MDBZV4FI/
MH_'Q9D3QS>$5$!O0Q;#F^QM=7&FM<3?;Q[DNC9W/2+SE*Y+QCKT[DFR-EEV>
M=BI3S!B5ZN[XK)OE-4KUN7.=S^9LQD!B@($_8?XK8TA;LK2!P:&Q'\T,$Q85
MW3:4W&\V1#>1@KBBSU4=<W%VV]VP) SJ8HT<UP7R1PPQO_R<PD^OJ3]2#G<>
M8J.67K;\X61Y<SE$V<I$6IU7CO_&JS3M0.>@#/.T\Q+(,9\9[\(<ZAW=F VF
MP^&DU],Z;,)F?97I'57K3GH=??+_T,%;F 0MCCT  ,?2H@?$H%>\>O6^DK*H
MI[6'F :]<#R3FLFYS((3OC"1_2QP//:@V%0G>D2?@" )_.)'BG+O#YWBKO:2
MX(C_]SF4T@O]B5U.7*;_N*30R$?=>M67WL6'Y!7!;:1@F#Y^\3VDKNJ +(O@
M\,WQF3)L*]4*'3ZSB8^5*Y:#W=>RQ0Q#E;,[H!%F7/OB,UPG6>* ZQ164Z['
MX10E1F^_S'^_MJ:$-'/.Q^DS,P*+W<UPI[>V!]LFYW/.D;7ZU&_<!;[GZSP)
M7$0M>-D&9HC?.'/8TI)"2<-/GF*%3A,#SJB\LFK5&?F,2>6JXX'+,X;M_F;E
M&7VU/=*ZNR_/Z+9'8VVC95=_-^J5*_HX[\WVF\*7%<JHVOG053]@Q56)VH\J
M%F5"#]M!I<AQH=0 J0(J:9N43Q6"2^UO77M4[$.HH$(7%H36HW*)JXEGYH0I
M*EYZ<:P75%NF+C-,7\&?- 5,;Z6 J;_.*0*J*K9J066\JIMZV+VXZK:&M:I)
MJG-[NH8@ZD 0O3T2!#:D&K94;>N9UPU%-!1Q,(KH[Y$B^D 16DO3U!I1Q-DG
M[=!4DR;GO!CCU\VDW0;C!]BSO)>3$'N\C/)=Q\(;#.JO&W^Z#08-$8,&VRL1
M#0;5&8/6C>3;!H-HV.9@U*D1!IV]HX7GV!D4?MM#6EVIW)73)HE]NBHHHTX=
M[TH-W<.LR+U8;0WJE4.]/3H%1IV+*TUM#;?7"!O<.TO<VZ/Y/<(6((/6N',R
M?._L;7/,0E1$)86R<%R\C,94WX5.$):59<E  Q9\Y,%ZC3U5&PF^8?WAJ'MQ
M-6QU!W6RJAH\.J(TWA2/>E@/U^MO'39MK//R*/#-L2_72-VML^6W4V)//SZV
M0P"=#S^IH,!L7F([ZJ-H&N<4I>RI,.14;-"&IAN:/JJNN05-#["DIM4=[=AO
MU!!U0]0-46^E^&]!U$,BZAVD!]2&J,O-#2I14GGHDJ[O4>46U9__:;I31[FU
MI^V68OJ>\OKL6-;RTGG%P>=>,/%,P\39'^^PY MKO;3.IU\=UW5>F>O1O]5/
M[Y5GW5-T)<JZON%9U_B"1S:E<47*]9/+&!:])=82OPR_#)=\-?UGY?[;C?*K
M;O]H*=^H,D^WE&O/<Z8F_:N%]66Z,3=MT_-=*C%5]"=\ [[88CA^0'DG7@1+
MR;7;BD)@2+U:><7EYOB8H=AXC4[@*3Y!WS.QH!\!Y !VF+:H$[25SVS*<)27
MHG54%1:^L^'$"U]\-J)116J+"N9"L"E4&T"#Y7T']JI<BY?BMA^8Y^O8#F 3
M:(8/EP7KZ[,Y?0X/C6]PY1*X[,(U'3<+*/P=G]($(+>6<(ZIXX*!2<_IEH6M
M#:/':74^\DD>./>%R%3P25V^IZT4$$WM**H0[LH"N">B3:QB4@$8F)X7X,3+
M%], 2"!6*7/]1VPX%MT3@&:!H[#@@;R*RRF?*@T'=J8_$!D1LD_PZB?8"\"8
MAFD&"WS\+Y6$PC@A%?J)]J2?Q9[O]25RO]_UGSCBB_<-N+7CLSZ$'!A$<F!T
M<=5M9SV)"MR*A9LR +<!WQ%&,UJ(QA"U (\<?"GBI.XKM@.[F^F!!8S]&;'M
M60?"=Z9\EC:"TO1DU2[-KW&55R>P"-/PH9GKS.D=7@"X+R#>(ER,W](\\$"N
ML+EC$W-!;':XX(/%YPO+I":>=$^ZHFJ7\$/X*_S4M/"MU(-5F3[K[A.#!^1(
M:60<B.2VXP.'\A QX-8JS@D<=.(7=/OM:_*&$B7&-_!J6[=],8OM*V[KAG9U
M(S;U@'M:(]/E#>) EK:6O4(LLNSPD6T$1'%]_PIT%UB=8L[G0!< 1& 6"Q=8
M)I44XP\-A"P2O;P/21-X;>)N!+\N)C( @P.W^Z_ A"M.DQJV7?5UI YE+N?1
M%=\-QP,$-SSB16+ P>Q2^BT"T^.8:)E V]C>!;\"=0'?,H4K".98-CT5>Q'-
M-B1H(C$@,,YT(T%KXC.X"<"F)_%2_QF Y;44V,F30#CDJE,ZKO@-0(&:6[60
M%P>N8@-OLTQFAQ^@SB,D*([EF0 <;4"_EN(QH"#=\QC*ML"';3"Y4U"B0-*!
M\)\Z@>O1QY, )"$]1S*,,W3 >=OCB" 8ESZ;P9GALN"'#C\> ,0W@5J7"'<;
M#H)O &$-L+< >VE H'BO?$D&8H (MS9>CLTXG=#+_%6XT4J@ R$*R1<#40/P
M"_^0XA P!'#ZTF4SN%*J.)\QVE0E[CE05^O42?+\RICLN5)&J>Z$I#C&Z2^=
M%LBV##&V3T%LPD5*G)3R;0;89H-N9T5TUEI]NU(R\*X$4^#8L#% 6/9"0A2N
M3DB*%N+@/X4L#4D5<0X$M.D8G!@Y+1%5DX*'"/>8P-V8<A-BY5^!%JF)CJ<@
M:S-?"'5H.&6 ^R$KPN+J-NQWOO#A']XK:(FX&9<A%G)AS2E0=ES@?&7U^8,%
M@(_>"JM-EFER^0Q*!@$7)&*X&3@@L Z##S-,4MX*,C+3W O;F:#N:"_#ZVHI
M+Z9CD?(!G\+)@!W#PUQ91C&LN\ JD!4B3\ ^64!R!O/Q"MQ0I>8L47)-V/Z$
MWJDL@ D%\+A$%_XQ[TT!W F / TL81@DMSH'"*/ )44!+HODKL,;;G%@X)L"
MFP1RJ&P .)$S )]'!0X[);D,5S\=M93C,UPZ+ %4A<TYO+5739B;Y-CX>P^8
M& IX_]GQ8A*"C"$K!U^ *7I@EHD!@N_,]W#5;FC2X'[Q<U&>*[0HH4S&3)]K
MXX74+,XC\8F*S%C+5V5#!P?LXV[&=_]5GXH!N[2+7R5ZW>@+^ 8;&F8TVK%Z
M<37HKU)I24\ ZHNQ'SV-N1'#(1XAA"*I2C'NIG-0T 5RI;ZJUIB(RFC)H0,Y
M< @!\"OU#)-[S!LK/<;9,]E4DU]PK\P"'"&.F.62H-I; ;H.%GQD-:IAH,8A
MKG(:1XH$%(9EJAZVM[_#=N'2LU?^BR2*%]T*6.+DIHWRR'&)\54]2']_!^D5
MWQH!7\H)V.6*0XE+K$27W54&S,IC26I$MV0>16+MW4J*)/-/CK3UGT&[?WI6
M_AY8I*"32.-&)Q@+<"H0PJ[^:D<"&H<V^#Y*E8A]"3<&<U\85R3>F<CO;,1E
M<T%,U7+@GY55R4%U[B7A<_T"ABC2V%?'?5S (C-S>A^X"^#>5"GW';1P^.J[
MJQL,/@>EW&,E1Q#&H#VXN-)R@,W=N@+B:\TW9(_HU^(RUUNK< D'"#(-CRP:
MX)/P=Y^K6%*[*WH*U);HB7:)K645QP4I;<*_ QM RXNK8H Y*"_1Z2-\A.O$
M;5NY)R^98'AS,=V=#&/T?(#Y9BY@QYMJB*C[3!BIF:9TN''Y@_XWGXOQ17RK
MD=Z$8AG>A^>=FR"7T22G\RX3^G2A."/S4N=WI!O_!/6<.[<2UR0,:YO; MQ@
MM0(Z'YPEF")6R!=XL2.GE G81^1/@8UR,5*-W(;[518P#-)9R9I0S N+)";S
MUC29"WFFD]K;/2T$BSYP.(:;]+BC#0<'^<__X#X:9_8%>%_!K%Y00J<?X2%#
M7T;'06]>)QWV(+T/B)F<\?!S3SKUR,"C%X9>(<EO8[Z^=?1(!GSHG9$XE&LX
M1F@4>6VXCXA\C&6<03R.8)(#%ZY'^EO9SP5.1D?#R>,;EOX%C""@89GR#Y+]
M@$WQHIUP5]G=U'= YG-VB>/5L8-41?,]IR,F4IHY6QZI)68,('_UUNC\:& A
MC_7=8.J3!$"W#%=[(]XAQ2P7:=PNC*%5]+(%TW\ 9YH#+HJGV\KU M8#(N7>
MQVH,852=(81SGG)80D7A.@;AVFUGJQA"?D$!*RGGB7M$K'@5@G&!;%(4RO,5
M\F[CTW'90@I+V/0Q!FU)O3R"D_L"VEA%/3?A->N5@?2MV/\#;/\S[8\SO!Q5
MM]_I<-Z;H[8G*9@8#+E,T2PA_Q]Y)&#[@0?G%6F44E868C=(5IT#MKKMHA8H
MQZN \0=M3Z(:G :8EO OWH>V52YDP(3MM+O#'#L@[>C([5C\IIO_]E, JDGS
MWVH];K5CMIC-<0/'N1!)S=C O&IQS.X:]ITH,DOSWWY'PW!E-F$]9+^",^3)
MNEC;N9P(Q%1W*=(#2@BPDR?4-QR*3X%5.M-1$)(R'9@6 0$TBAO'!IQ1KMT?
M&&H16D?H?;.Q^3+R7(.TINO@"6.76D<=$ENO)O,*@K\%X0M]6BE^$8-N]^*J
MWRX:6"Q W.)\E*MH&W+3Y(%RV&GR1'&I\DA:Z!K^V;NXRN8U_8):/&FTI$.N
M5.2'G=4[XIZ.'&U\26JZW$<?QQ%GU'': MJC0NC'B4MF" B3"O2P$)$JH<Q0
MW8[.L'E,.PO#D,YVIRL?J8VVK?P.Q*N.^9Z3#"&1"W0M4V64;TY;Z2KRHXUS
M@T1>4&K=3#902WC@[2BM)XS,X];[4G%,;U F\JR)*(C4"NGE*=2:HD2/1,9+
MKM4O'ID)!8C'TF86^23(UL2^X_C#,/[! \\YK<A+V5<B;? 2,V$_=L-VKQA-
MM_V/E^HHG*%P:/PR0RHX_-L_)<"B@N;213C(2 XN)'5EM/52]XUY@Q,<D0,:
MMXNC28S*R4K##2(\M^)MGQG_\ZOC<M/A&ZLNQX875T.M751GFTIM(A<?)@H1
M2_M[@(XKX8(64AL^%DPB,H1CR1L)&[BH%3]\SJ:ZYX=KXX_(,",#.3(2N:OI
MT]D11'TH8MP>TW 5B7(BP VWZU,JC@P,><$DGDWDY^6G5B:- OV7'(9I&KBU
M;^5F'L5>_L"M\%V$FZA,'N@ES(O'),D#)829 M&UY['YQ&*7OG/I/9L+Y=WU
M]\?W>3#;,V#D1KX[C["-_8!I7!"V*L%%4$#G,Y%/%3,53H&RZT/:P[8Z1D D
MW$>)W#*9Z4S4NTDNV;"@D)(0-85RH6KVE94<:!XFD_75XF0RF2-N5O;H)3??
MRQ(9;E:W^#%03*<I;[7AI9+C:I"USW^1AKD9O80K'B&'V?(><AC&NK-490BJ
M!FK%.JWB$_+-LR/QEQI1.-=FT\+[>K&PS"DYW7^G"1#*.W2^L)EIDR67*[[?
M;^"[&*[,DTCC6+0MOJM?=<_T[AVP++V(@'H1BG4OKK0LAF$0%XA]0<^=A'W]
MNVX#CR F.V&6R5Z8R,_&:T!?VQ*%9IC!0CY%/8H*&6!#FJ[X'I[*=33P6J,H
M&2$U[6K"=->+(BJPRHL.-B=B"+JM/(J,&\B8%F#!BA*!N>[^8'XL]JVTV,\I
MYH5NZ!:LO[=,7>,M:Y>(..QD1N+PXH!HNV)DWJCJR#P@>F?.ONL_5\S-Z^-$
MG-3<.O@L.S>/+Z; :C@7>\?S\\0;<_9Q](@#*/2>)S5I3 @R_QVKT@!&SJB4
MR-=_BM*(I,^.<EL-RI!Y9I2_8E*J$) MIK_\8)0S"T?#I&/B1!Z".8P=NI*3
M\,2 S-N45Y#O]/!$;H\9PH$;6#YQ+;EM&8W,6\;$U3%7(4P5CXHNY'.S@!+
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
MLVA6T,"0;)KCIFPT--#0P-YMFA4T,"*KIJ&!A@9.C@:J634K:&"\&[MFAS1
M=LT'ZK%]%1L\D>C%OJ]1C,/NQ55VH %<[/02SH"P^>@%\[GN+O>.*RM:Y:N=
MJKWRH_F,=S.<0\%LCP#W@",9F''C>+XG[5]FW.M+S//TLOW6^YUL1_U^)]M1
M_Q$3#R]I,27^/F7W;?7YZW,V=:#!COGW1 # H0*B-.?>TNU3F)Y%\^/C P[_
MZN& E+%R-[?-2> I7WC14?)DRCM\XG__KY&F=3[1S_%3^K?ZZ7UR8.)<7RI/
MKF[[-(7LZ<G%X8@T'398X-";JJENB7%X.3-B([2.(^*UZ^+8($3S7Y<9S+_&
M\3?)LKIK/L_EW\A%JTW/[F-"1\Z@)T4,SI9INW!V',')Y@O+63(QD @>N)2?
M*(;ILJGOT'!?@BENA$]F]'R@)LP%YBF_"#2OE?U<YW/C^*@:R@U>T-RGMJ(\
MY*Y!/Q5/T:W!UT&((^%5TYP[]A/!R\?] O=>*LZ+^-T+XR,=^5A..;98%T.&
MXL-QPFF2'C]@- Q93"C-/RJ-,8W.YG*V1O,L0M8CMH?C_G#I:*R3,F'^*V,<
MI&(.<OA._"S]"C&[U!!XR['98AY?F/UD[M2$%RU@GX5K"&#RV4  /)I/9CN)
MK^DL"#LX2FRX*4V7NJ2A4A*BB=%2BAR:U58^1T_A)*H5#Z7G'L9)5EY\5=),
M3'KL[(PP.0N*YCY[=SAV]/NS;M]Q;/X;[M>[M>_IG%6G1?9QVGVGU5?S1D72
M[;3DI6P%D%WRJK4@^9,VO#%(0"T:=UN#O.F9@GOI4SFGC \N [I%2N;T"&^;
M,?.T(/95[CD"6A8N/=">"T&2PR>!W*]731OU(UX0&PH/K'0KJ;@[TDO)1#GN
M&&!%-%<9K_H75_WNL#76LJT@0\0*9RK3@#L^4-CTO(!FW^7"N)I2N=&T(B&2
M'YG[ DR^ )X6Z,[TM[O9 YLZ3S:J#QR92./.T:\'>?.,:C0OBHP?6(2+.I+
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
M? _' AELQEQLLC]7"FG&#K#G?IILQITXV6AY7JT;1TPH@>40VK^;MCD/YGR
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
M"ER/+F02>+ ESVLKMSXV\\$?.0O3%G/CX7C T>;4 <O$EI0VOH"S'.J(Q?<
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
M;6/(C]+0)RAPV]T$:O:T=C\?,WN]=D2<9H8D:W+GM.)'T]<M<UK"NL[._\O
MJR8'VS+WMDB"ZJ3@+ER<T_H3L5(DH_\%IUQ&NIBD#_QFU&MKN2BBYZTSBOTX
ML<QPV.[5'Y]6@OT;\U?RC1B'7J8EW: =R01X>-0>_](J)XJ5!.O*8T*Z+?D0
MY2^@J+<OX]S(9.5,JDU8U2E<W-]<Q\/P*OHZJ_/\7A]5X_A==<?MT2\Y2)RZ
M*].6[\R[-?'L-'K PX12'EFP2-/"7U*\V*#R'TQA;<D9WEEAQG5OD7^J_&FZ
M4X=;0<+2R=D>?GTI#2$A0P0J>:"115!KD1O'<)@GXX,Q/)FY!&S:F5Q,;);O
M2=\B+_9$,KX?JZ3ZSLKS[Y5,18WQ;+P?<M60$8/&C -F&,6JD:5@3$E_8I'7
M;Q7OL73/+\+H2CG-&;S'>#\07%QQ-JB"B[[-0R2Q5I;I29=#3$_.0>=6BJ>%
M[Q+GV!S/WG*04.O4JOSWB.EG<"PTUB26)JCU+YV8,E2%YC>B3:0UD"? KTUT
MV>?H"#$JCG(8E8GCNL JI,;1I8 _A1M99!QC P2>)K P?4GTR25-"0M2&$Y"
M+ZB@1\=*=/ )1G69R.N$[HMJ,->4R/FE]=K]7^B9+FEZ\4(1:><3?XX6DBM(
MS8^;]P&+7:I !YY_C=>!OG.J[A59K!AZH8NS&9,)+#-F$)_&JEF7D I>I'L>
M\[EI.F4NUBGSHA(J&Q:!/%@?RY#ASEUW"2N]ZJX1BG142[BK26"32-R/9>S'
MW4+"!<&SVZ.8';T_3*F)9W();,^/]>6(I>2EA+"LK.Q%P$;0AP ')1K$ILSC
MS8,XF-ZIXW7K0@,5C>3,6/B3MI$+2_ *?+G<0HYL6U"X9J(E05>-&W%QXU;3
M!@5^E-R%5"WF6TDLI([C'IH\"R,R0E=IAMVXT0X/JT.P6,K:DC&RFH1CC6%W
M1,G\W<(5U<JW%EMT[+AI0X3HI"+'I!2$5!-GM.2K%,3.-3@9K$^YQ&34)Q7/
M*0[=U84FJ]NK:X(!/6ZK]MIJRE8=M@?%MFK</B7NR;$I99=295+L2O@=)>^-
MO!D3<C22;SG/DL7253R.J[]&86):C$?EI"Z>:^2&=40).]?(-W1/X98W,AE+
ML+.D#CHJ\-X5ZI7<TF=RC2(#<N>F89;YA/&;U7Z-5IYYM\*4%.BU.TNPIK;'
M.&-[E$">QO2HG7I2V?+H<,M# \9_1I;':1H>)>[WR&9'V;3>X?'3>G\S_Q68
MY O'^[L1#.&!>8 "4Y;->ZXAW0NE"XMR$$6P QJ_TEG@VB;57YI8EN%C!4XR
MIS.=:":2.&-J\5^],)6.M'1>FX,+RFAQ;I9GB/]1:A>5LL=8?9BD&2G6L .
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
MT 08OB<!6RX&\,)QG(M4TLA<<7DH&M,/H@$OE+#Z;+*7\!"PFLL,N0/%(><
M>L9:PHP--VXS1"Z>W6!Z"?35*<"6,)E,.PTO-( O)R#0L**1<T*'.E+AKH#?
M>28O^,H%1<W,S *_?A2HI$(;F[?>)L!BC^88NCY(A;U>YSIS]>I(J18$Q-91
M!_9LHE:N9W GK-"A,DS2"^ATCOQLA6:,CZI]HZJ>'!_Z\IYKC)%R$ V]PW$L
MXJ\BIH&I!JYT[9Y%/LMWT8)8=EL'N1;+ZDA>GBE99RB3D'5&62:1KR-1'Y*8
M_9B&8!0V<G."2X1!(A"4FJ*.HA5[5-.\$B%0L>?K#\8+W#(/M(@'E3Y#]O;>
MM W1+;8AJKB+^C49)')XN.;+GOOKA^_*[2V%KE3MDW)'N3RWD=Y>B(5%)UB3
MJEV7@_/"[]]G3^BRXR.L=GG:LOB8&'V<&JR"8U2PD>91Q\J(V;%MY3>:[D7>
M/X;*U\FY_\@MCFKF4H0G32?PY-"RJ0C<N:":RM0#:OH&C)GFI =N:OXL906W
MPE\N3#NKN/)!GN@Q#Y,/Z?>)<7P*,XGHPIE:N:,V*3UNBG;6++!DQ D'0_M>
MI"/PR.B4-]EP(RO2,GF8D^=08MB5(J@8D25-9QI-@:/WQ.<8Q 2F:0MKL:TH
M?-8LV&LF]7B41AIZ-D1\G>MM,DC)8]'X9OHNFA47B3ZYRZ5L^4&EYB*+G,>8
M>7 W+R$UA)K^](3FN\_B$^_PD'$@T%'Q7B:19(_JI'-FT+1B^Y32D^1_+#<R
M>?=["GAH:IT"'NIU6XD'?8]JR9P"0_H?)\#R#9XXX3)L/+(,1QS&?4G9@%IA
M.I0<;H2Y 5@#06-J/5X2#G24C=,+)SW/C4_=H$Q1P88I@;O#'#SE'?Y8O#I<
M108'9#D)+U"T6,PS\/CE!E_,"SJT49A3_3U]9-WSG"D?^$D/X_Y#=DU*?)P3
M\[QO"I6G:U\3JV:\K^'>J_?X+$OCO15:01UGSXDAZ&WE/_3#OOX3Z64&^KF)
M2'!>+[M0GET<+OR_2H+Z#QL$ANGQ"J!'V3SM"T[<6L8L^9;R!U<!A [$'0>W
MGA< >=V'PRSS'OV/#WJQ1GST>ZV2:7W0V7^J-CQ)0NABV=1,)RWB#W2 /3(;
M.Z7%O$(--E3'AF[G)+&AUU9^QYKO1WW&@"O$4XU.#PO\V#SJH^-#]R3QH=_.
M>EF*%(DCCO]*^4U79M-C:J+I,E28T"8JRAXWG(7/,Q/1M0[V% 6"E8OXX'0Y
M"%R/"I,N\(D+D.R7:W[8ND#G.?7\R?'=D[K;ZXS>Z>]Q9P]\1CD"__'RO_ ,
M+O6,J;+CRZ*=M*MFOY;&^4$>SL-U3R^QRQ/HK!]Y@'_YJ?:$,&@K7WX^FQ,S
MIU:E%#6K*IV"5]*'/FYL\X@CTBU]X;&/\B^?0(]?6/KRHVG3GNBA%(S0I_O"
M7*I2$LX^TB_YU\+=.QZV^VH//;Z^"_]OR!<+9W";G,$??"/[W:C=&_<+O^VT
MU<+O5JXZ;G<[Y9;]0#OFNP:X(,C_ST7W(O*#&XC''[7%3P4@^RGF\[38+ ,:
M#I6+X_@AR.<NL.?X,?Y.CB5"9C?^"L1F,)]$(681$1"7M<-[J->A/SO3 %EA
M>.S=8^#<- R+'5X76G/RKMI6$Z?>[6&/H1RL.7%D]B<D$>/T^>GH&Q0.@1?3
MG5ZBQJ)VNNI/]K.KJO93^]D'XKE!8,_,:9CB\(!ZCJ]<M[%%L!^PEG+S;+)9
M-DFAI2P"U\/B G0?Q1($>E%V0$^J0@5Y 3P?0"@;\>4\WL5!Z7;"]/Q'W9WH
M-O,N[WY:;"FS"K1.1VMGW0QOBNBTANA.@NBT=43WI:U\=CP@N3^QS\,]6,I4
M8MD2R3ZL(;E:(&!7:^3<:9"<EB_G/.[-WCBE.D$WZDCYH_W8OFDCQ1$%J=U^
MIY#,Y(_&G<&69/:!3+DZ>H+R?2S":A$!U([:OOWV&.;?_-]?'WY3;FU>FZE(
M'7IK3]O1S_AX\Y_),W[7?V*-\Q*P3C9X>YP^L[E^1H>^N?YM[:%O=&LJ_5"_
MF?:/"383/!\0_';]ZUH0_*9/F%7E\(=,@,QUK=4F*[)7M\JJ4\//^X<O:_'S
M/FP+4XU&&S25:-K?2?)N-VHI4&_D+@3\FMS8C=?=W85JI7SXC[=_^W;]_8^'
M+X^;AS#W!:2]@R0?Q^]CNBW/(HRZ$ZXQ1:.J$/[@$\VWLGT*1QDX*(UZ[!@\
M_4N4*?#24%'PY_"&:1/VK%LSV?>'S +Q VK?$&!S6UHOZOF4T^WPL!>HEEOW
MP#&><7O4[VX2X^EWVYHZWGF0I]=6A\7?;KIJ=]SNJL6/;A ZZB@\))=Q!PQ.
MT/=Q<?7G[</-G?+[U[^UE9N[A_N[A^OOMW??SC.B<7'U6??91^4SFS(,5RFC
MU'36W7MXCG'(7Y<?S^Q$'[P/*<?I)@A:2+D;_51P: K2+WR%VH0K$A0U RZM
MF#?/.!_<=0/U:4,SZ>$/33'AZ#\YZ.X[%E\1NN]6.&_?9X&[F2=579O/=P1[
MN#:F[Z#8]/TP<8PE_/'LSZVK_P]02P,$%     @ I7&(5VN5[85S#   #'\
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
M):ZIL\%5_Z\X9N7 YI(V 6+X$00BI)NH.*_F3*NY1;ENM40T06>8W>J.Z0[
M?3@0EVGG">NV9T9(D:I5.)N@H5G8D;\2J8BG!U0XIP\@2H5]#9\7SS$KLK]5
M/#7B7T'-7[$?%(>CBMR-?<=ONE^_?) 6$#?!68>!XG.NXP6ID=]9F)J@US5G
M+I:S6ZA16=Z,>:2-]3NH:?#)J6GC KO&]J%;3;BX)3K9T7-H+@1_U$-)>F9$
M7?! J-DO>OZLB."3<^S.*A2,WJ"EOS[Y"M493@4Q#X;Z/\_\O TI]H]2GJ9.
MCZZ(E(3<Z(Y@6&LP&]-6@W6U!RX@PXE&"M !Z(I]X7G2FFH<^+4G+_#)S20N
M#)CO812F,T7DK^#/GCJ<:4KA!F-3JWQF<J,G\>&J*O9#=S6U3[BID3HCX=]"
M>"MR-Q5.Z.U-*E*M(M,I7NA;4#D1\])85U%"4XU@PI*92]WJ216<;)J*6Y97
M>E7V)KS<2^$Z,;%I3N,C2Y\#>5K&&RH-8Q^R\,HUSU7<M50S"JB;@%]4ZX-U
M<//S<UH\E"6N ^CB#9SZK1T_S!#^37S/5C.L+J?&X'V+E"D=4B]9_/V;I[M@
M[(/#?8/5A=30*X_;SY'W_"#FD?';Q;"L/D,][YCKCM[SNQE=O+:UGB6]L;:+
M>E\>%C)D38@'E>8?HS!0FA]I>LD\)BGGM>/!<\)ZNG_#Q<*G;KA&+Z:4F2^I
MCC@UA^-4=.U2&4U0&LH%%5]DN:1-\-KSI0)O2RQV?.'<*P:ID+X1LXO4(F/Y
MZG ^<4/6AN^(/UF5OF^)@B6UDHE@$7E3)_H%DY[H*VA#Q@(=_1(/8<OU^7SA
M\R<2Q[ZZ$ZIZLAOASOF+!9$B%W2IE9S!3Q>;7^33[X);Z%")79XE[6VFFXM
MD"KI0K@#/BZNC[CN_FKS=7:U78;K@%#=2>YLB2,O)1+JI&;_2['_O&F;31V0
M,'=<:!VTUJ<^EE)P/D^=(%BX"&+E?$$A^DVGFV6+<<,E+=R;9^=[G:*:1^>A
M+U8IJIE-F.%O#A]_^!]02P,$%     @ I7&(5\0[ :ZR'   _Q$! !4   !V
M:7)C+3(P,C,Q,#,Q7V-A;"YX;6SE75ES&\F1?O>OT&I?-T=U'Q,>.S0Z'(J8
M&6DIC>U]0M21)6('!&@<E.1?OUE-D.)-$*@&6]KP&") L/NKS*\KC\K*^O-?
M/Q]-GIS@?#&>37]ZRG]@3Y_@-,WR>/KQIZ>_?W@-[NE?__*G/_WY/P#^^?/!
M+T]>SM+J"*?+)R_F&):8GWP:+P^?+ _QR3]F\S_&)^')NTE8EMG\". OW9^]
MF!U_F8\_'BZ?"";DV=?.?CO_T1BCE$D.F#(>5+82@E<9C-""J<!L+/J_/OXH
M4D3GC !62@3%30:?N0"#T<:H<D+.NHM.QM,_?JPO,2SP"0UONNC>_O3T<+D\
M_O'9LT^?/OWP.<XG/\SF'Y\)QN2SLV\_77_]\[7O?Y+=M[GW_EGWV_.O+L8W
M?9$NRY_]\]=?WJ=#/ HPGBZ689KJ#1;C'Q?=A[_,4EAV4K\7UY-;OU'?P=G7
MH'X$)!/)?_B\R$__\J<G3T[%,9]-\ #+D_KO[P=O+MWR9#Q/LQ_2[.A9_>VS
MWZ=AE<>DV1>S:<;IHOMA,9N,<U7WSV%2Q_'^$'&YH-%T5U]^.<:?GB[&1\<3
M//OL<([EIZ?UVE#5SMDIIO]\R.6??1U "I.TFG3R^H7>KV]2 ?<R%OR\1/J+
M4Q&>89C,TJ4O3:H"9_.SOYR$B)/NT]%J 1]#.!X]7RSHTB]6\SD],2.92PK&
M:+"I"%"&!W!!$J$SBRD[)KR1E\571[:@H74Z+V$1.\6OKTX$$.(93I:+LT^J
MI$4GY1L!G,IS^]&\F9[056;S+[_A<I0CB[&H ")K>AP-$Q +>L@N%Z=B*BZQ
MQH.Y>/_+8[G CN?S]&0VSSBGR>SIDT]8)Y[UO'8*)LS3-=I<?J;6WWBV6!T=
M==<$HM#1V=^7^>RHE9:7LT82/E4A =]5Q^_F>!S&^=7GX_JX/)_FMS2USR^/
M,-+$C%'1-./J3"R\!<^"!IJ?M14TQ)!=8]5O &L31HAOCA&M]=&,*"_"XG!4
M9.8,ZTT]3S2RP,!7ZRPTLR$')@7RQDRH]]U$U?*;4_6#)=I,E\]3FJVFR\4!
M)B37+$Z0YI^S(07+G)))0$J:@6(J0HA)0=;%*J.3*#&UMEIWX-E$]^J;TWTS
M#33C1#?/?(6SN( GIJB2,!R25PI4L@&\IH%ZI)G&>^/1EL:,N!W-)GS0WQP?
M&DF_&1O>4$AXA!_"9[Q T5' 1&&8*N"D<T 45>2A))J[$GKIF)$AVN8^X U
M-N& ^>8XL+O,&WJ%LV.<+[]0:#]=DA/RZE^K\7'- OQM/ELL1BE:JW2,P'P)
MA*DDB#+2?,4-YZ$$[H1O[A#>A6C7\?X2IGF$+!7IN ,?'8W*YD+/F#<@5,%@
MF)96ZL:CJO<=4F334.]7V?U@$3<C<[WSFZ/C^>P$ZU 6(YNX2YD%8-PB*.0&
MHLH*C(S&F6 UJM8>SE4,0PI>>E;ZUJ)O1H"?5^-)S6\NGE]&<SH^40Q+WC+0
M >7IE!V*TR"S+U'R+$US?_=.0$,*=GJD1CNE-./)KR$=CJ<X_W)]I#0T)EEA
M8 .15WGA(3#C0,3L4^1<112-27([FB&%1#TRI)$ZVMD1# L\G$UNH"L+PE$4
M'X +2TY:#!R\04%T=8%+:72VV-JBW(IF2!%2G[:EC3KZ]YEK;E=$H<G&(42/
MA,@15QV7")DQG:P-L@BU+X_Y6C:]>7P@,3CD-H(UTI*;QS6X*"1(FQ)&D1-B
MZX3!0^*#@?K8#^7)]=1Q,Z6TS#2NCJJL,;_$XSFF<2<B^GF"G?RG^?G1;+X<
M_[O[_-8AC 1FPV)DD)#< )6C B]4 H&"N^ ]EM+: +?"_D!?'[Y-]CV*IMOQ
MM,OBC)B),M?()'<I%HV:_ HA0'%E2091>M4ZL7%ZYS;XS[)0B7GCH[)@!"L$
M7G (,B$X57P*10N?6V<R'KPTM]_%V@=I]AJUMQ;N?IP+3@XOBZ( #9*!(MT
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
M=V)692-+0MNZF/A1![P1Y^WWQ?EOAV$M;?%-DCWU$2Y+%G/1S#D/L1[4I"B
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
MM 7&:\!AE8" *H%+)I/X4A2E==C8?A1#6I)])*KNE0@]$OKRB5#O2&SS"[[
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
M&30:_X(&XI@%R!%BR.8A,:R_=*==PK>3)EW&V?*B \Z=,P;M6>,DFC!@(W$
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
M()-FFAAO)V]')L9F4VQ+ UEC>KH1 )2-!&#M1 "R3BOD&R$"7)E=U\K#0SS
M"O1_T714E^G]'&S% !LY0"7()KWS=L!U"/ T#[ > SF@>UN7, _UE8"V.JZ[
MSCV</_M*Z0_<W-?.U3GM_U$O5T]W]N5:V>^?*\'U>'!CGIH42XZL&9LI 7%F
M35N!LP3:3Q%#.<%)PD1P[G\[S?'9M1N6;\"C8[HRV?2&[<!*5)<A][-TH\+8
M\U=DA]_=%K\MO[W$+GBC$Z\&P 5Z0Q<"\!/_1#4 SP>[*9R_:E=E6ZM;NW'Y
MO?YU[?QO'\V;Z6QM?UJ%BY8?URM7B=J5]YX04_ T-QPJ@27$>5) SBB%A<9*
M<X,92Y,P]1/(P?B44<,I>%6%FY>!\>:A"R#S1+%$99#EDD-<Y 3R/$E<P88,
MIXG.#$Y#ZE/U"/\09:JJ*K_E0-C[?0AZ1+3GS\*&<]"P#FK>G6ND9AOL\7T#
M&HGB?20Z(A?IDQ%*?= /2$=HGG].NDX3(ZGI>#^QQ.0D81(FB&80,UU8K>;B
M:VG!B;5L4R."RDQ<H#<V1\I1"E.MQ,!BQW)'Q78)>%^+-AJ<O=NSS]*6CM55
M7[E*?6NE2]1>,#O)6^OX/M8Q9$3*]<-ZYM*<WNC'I9;3RM=C_SS351F+N;I]
M6"Q7TW]6/S]K44\*7@B5,@H9S:QMJW,-N3(%Q!(7!>9&2.P58Q:;L;'I+9>3
MX8KM;80#:D^ZZBS)]\0*#$Z)M9A^*NXEEJAG7;@G$MB7Z09LI:K6:%^N&_#,
M(W!SZ!*(&",3&?!8X32QV!HV\B8RF$=!.K'GO[8RR-8%^WIM/R?SU;/B$P7C
M&N&<0U4H;>U)Q2 S6,'$**8$P_9L')1HZDMX; IZOT;%EO.NA3\N8.ZG9_M
MLF<]>A+$&]"P/5"!#S^THA?VN$#VA0IZ^(%QOI"'Y_.=P@N:F9L@6I0CGG"1
MP(QP8BW)#$'JDA=4IG-E;<R<">GG)3TU_?A<H+MKSHM1M9?!\[K'[PQ([_?S
M$9$(NDGOC,A@-^0-AS]&N^L^*?*%.^S#9X:\FS[)[;,[Y]-CNI9=W$_4JI(
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
M=<_/R]Y+KX3A4\_/"]C>[R!&W?.#?C'O[/K>/KB>"9.$()/*S&[G/#,09\Q
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
MQ42FFL)$:0,Q2C,H<F1@JJ4D!E'[$Q[BO6HC-D9_U6/#[PUX=!Q799?TAN?
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
M;%Q/!&:,VW 9A]2@#'*FA5*:(A/:\O@4F5&Z,\*LVQ!0_7T9UT$UA"NCYS-
M.PB]U$)_J5[";8*V5T*/9&M_L">[2:JIDB9C$&>)=CW.4\@2FD(IA229_152
M.LP9X:8=GU/!<158J\[!X[=U0T7N>:.VRAI>#VY/N%BUW=R4P]9IVQ/BJ.;:
M_N\ZWAOJF?WM_5_TW!K#,WL\OE4/T_FTK%KM?M-OZW+699.(I9E4#"4(DJJ>
MI,BQ^[YRF&A*!6*I4"2H8'@0];%]>QOF;T##?N5O.A0 ;"3HF@X7M#J>UY%]
M8=[W'654N,/O+KO %NM",XCVL+><76 YNOKL-$G';@I\.7?QK7=Z6;D&=\E2
MJ;4CA"90$6$/$$IE]@"1))"D-#%2%=+D),R>.$=J?#;&KWK55(UT:2*NHT%U
MC^&8#KS'. LO-T1A+@WDRF5%(Q<&6%4F%B0S&4ZID4$%&6* .TB=\89/%\A:
MWU%T/J2=Q=9/\<= K&<=WPVL\(8+%Y"(U2_A')EAVQU<$/:H6\&E\9VK?5KU
MLBT+LZG#</M]6DXH*;3(L@Q*4;6P$@(*SAC,5))F.<]RD@=53&BA-3;U4+.Z
M*\FT5T[$L1NH(=I ]E,2D:#K64]T1JU+"<]+>,2KW'F6TM %.R^)?*).Y\5'
M.N06'(; O%Y\TW,^7_UB3<.']<.[Z7>M7EL-=:_=;Y;\7G]R5"=$*,E-DD&4
M$6MI:,:A2%0.42H%YT86.B!?N!,+8U,R#;O .'Z!K!BV1E[-,7!&]B(@<+[;
MJK2KGV&P'L+-O!/ %>6K1;@!FQ6HI "U&& C!_@TR H$Y#/TOA(#)3E4*S+=
M6Q&Y71%7_FEE_['+T65;A&5 7(5G:UI$MYF'RY6X2O*#!(KK9NH8U.-BA5P/
MGZ7^JN?E]%M3^?[#HG05J&>\+*=FVGSLU'^MRY7C[9V%X/;CZ_=W[I&J2&(U
MS]W",K^M2?:SGFLSK4J3E5_X]XG.$R/M&1EJ@S-[/B8"<D(1%$BS KE2]TF0
M:W4XUL?VM6MX!WPKU0U8\>_=6C,.^ ;X&>CC7->>OZQU%.>!U.!5+?</P$E^
M ]Y8UITR;X2H:C3>@.>(@!TDP&DJX$"Y 5;:B!%7@Z]0K""NX1@?-BYL\ 4Y
M"C4;GH.NP375+MJ;]/5BOEI.Q=JQ5O[\U/2R7$ZP0HK2(H4Y91ABC%/(<YY
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
MHBI>M$FM[-(LRP=]/T43&=/>KTUK.!MV]QIZ;LN!Q#[X!@ 42=OX4!Q4[01
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
M=KM1,!ON82(AI]CNT@0K("^YALR0PB!#.#;<.U/@M(RQ.>!6R[W.UQ&MP\_
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
M;$T(V)>&S(C']KTGG/N^S;%:UWFZ#< ;Q<%6<^!4!Q_Z!CC@4* GH <Z,-@
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
M.H>&2XF%*97B7MGN'3+&YHHV:H*MGJ!1U+\@^1R:W1XF$48]>Y-P>(*JCR\
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
M2$DX1MHWK-D?>&RQC-,-..6 T\X_?CD ZW+0$@M!SR[%T_J@Z.24J5$AR<%
M@\4AI]3?#SY._O[*3(,/TYE^;W]<3DJJ,*MX 9G2KO^M$9!+FD/)*3:FJ(J2
MA=W]'8D8VP+<:_OJ= 2UDK$9!3L@ ],(HN#I_1@D")GXS($CXU.G"^P$O$R.
MP)&!9Q,#CI^\IJ7(-CK--)9%I3-8\B)SB<HEY(1B2/*"%YKDK,QP3"^1\6X"
M&OUB>H=$-0T98;C>*-9CDY!>NX.\9%L0OWX@B1J!N X+KL'"&RU6=W:(EFB-
M"R[LZY9 G6GF.#_LBS@S%/*<D%)C3E 1U'GBM)BQO8QW[2:<GC? :1I+97<:
M5[]%?3U:/2_N&JB[4*#"N>HZ<4C%4'=:R+"\=)V&'K'1=3\=R0R]GR'BJ#@W
M+:UW_._;5U..&-<T$U"(S+[/K4N C!!FO8,NJ!:B0DR%>(< V6-S&7L]VML:
MU/A&$2%3X.=(>@*V9^\2B6DX8W$X.JGHA@,D#\L5' [)$=%OQ!!7'B!\-/6U
MZ/W\P7YXV60W;U>*D=28"N=0N>PR3,H"LIP@2 M%4%Y52ID@JEXOJ6-S4[O-
MM$L>V%/[7T";HQ_KM/PF(? \(A6T@QU17(%J_,&%#TJISS(Z9;[,\88/#&=/
M/+P^','J^_?YX@\[H-QSAEM^Q_<SZP1=-?^OVJ5M3#@KF%09@QDI-,0&&RAH
MIF!6E5F6<W?R*;RY? ,$C\U)M:J#?=UWW*9@JSWXO='?TU,%ST>WL^H3Y9[]
MU5@ #N#N[0GH@1A[TP$>1M$;@5HG,6_(>,/1\498>4#"&_/YR$A5/]C??OW%
M[F86_,%&Q;?J<3J;NM>,(XU]^]TIH">F$@KE5,)"$PRQW4Q#J@2&RKX2#%6H
M1*8(.R?W$SR^\_-6[QOPM=&\;H'##W0'NE$^\)3=<RH\ ];D\/8=L6YP_64/
MUT.E0:MUPH U"*54$:N?T&%#UB @CF+6L$_'I@'^V?(:65&?%O.9_5$VM6)6
MXNNZS<[R_6S_F>E,3I\>]/).?U_];,W]8Z(4XQ45TH:Q5-@M=V$@,TI#2BA%
M-M(EF5:AB8'7JS4^+V>M CN5P:%=H3F#">;-S^D-/1=]7U3N)N"+HWWF"[4$
M?WU2KD>:\XZ-08XVZF"J6I/ [\XF4!N5-,DP'<;)T@X3J#1P(F(Z$(]3$Q..
M'7MUNUR^GM>#:SNT';@NI,>"($8QA\@X$E_789=FC,!<9*)05& B@NIJ3XL9
MV]F!TQ(<J!E':' &5-][VVNAZOW>-ABEB$O;+A"27=J>%#+PI6V7H<>7MIU/
M)RW:>#>=V:WKZ4H!HWAE5&[= W7T*H7]@V:D@-((4NE2Y$($DM.&*S&^2&RK
M[%[1QK\FJ=KHF@O?>*M/?'OV.!>J-G:XOTS5A@>(_59M="DPAJH-#X \JS9\
M1HHD&CEHH_79]7?Y:*S0.E%N(@6OLJ(2D.0YAIBJ'%*I.,PRB@E!$C$55/[?
M*6UL8=&N*NJA;@R]<.K"N8%K^Q<>D:3:C;6?0TN&8,^^ZZC/WN<->E994&N;
MD&_$!Y14=".=LH9E&_$Q^XALQ.M#T<S^FVXL-:>)2V=9Z'O7Z^.;ZS@]?]S<
M8A59Q26A)20DMY$4E@IR11&DN<D(K8PNA->U;;#DL3F9_4Y##47/@>HU47TP
MZ;_G)/AYG%Z@[?M<ZN/K]^!VM5I,Q;KAUU[-P2>^J"MBDET71B.4K@6 I]RA
M^P&$P7&B.4#@ "D.@7[L<NR6$U1)RC/#8%$1!+'),.2Y=5*FS JE">:R# I\
MSHL:FT,ZV&=?<_YS@&?,&5 L2CW[EL,CH)V./9UF7\:DEV.A T$O>#1TRN#N
MXZ&3GXA,/3C) 3FQ&S-4Z8I 1:K2[HJH@H*R JI2*B,-P3D*O*([+6A\1SUU
MOE_+@+N?^A&81G :5L^T@:NAZCM-X!2[[(XV] ;\9M>!.]5)GRO0"4VJW(#3
M0H;-!>@T].CNO_OI>#ZO.SNIRZD;[+-^FB]6DU)2HS.<0\(S!K'B>5WT!S.9
M%48I5A9,AA)Z/1<RMGAARUBU4Q0TFH8S>AT!VNT24L'4LT.(0"B*T^L<!%>1
M>AT-.CBKUSFS3M%ZG7TV?)%_L)@_?+J?S]HVUQ.9523G!8*2L@QB;-<UQZJ
M95%5>84R14ODN[B?#SZV15WK!VH%6^),_\5\!-SE17P-'+W?^GHC$;1HSYD<
MM5B/!AMLD9XS8W]QGGTF47^_3XOYDUZL?K@&IJO;F7*%*$_ND0DR=FGJ2L$J
M+PS$PBY96I4$LB+GA)""Y;+:-/GS"]3]A7M]AP^;_/6]L^=/TY7],M>YOVJZ
M<AND*_OWG8?>+YA/#.?+=?+;Z'U3MUBV0;[+?MLJWV-+OXN ]=77[[S@EVWN
M=Q&0BQW^+H\04=/V?B87[L+EC6[^>_OT]#"5[FCZ5[[X.IW9_<ET^6D^M8I,
MJL(4955HR)G,72MY"H7(K0,SAA8YTSCG7I%&J."Q12$;U<$KU2K_$^!;]5V+
M4JL_$,X \%1;$%!S%3(AW<ZL3YA[=F4[A-]L$=YI#AK50:T[^-0GP@%5;3TA
M/5!56T+$P\K:(F#K+&L+&6^XLK8(*P_*VF(^?V7B37.AY<ZP)UDI:6$R Y%P
MM1^9HX6A[HA92H(0U526=+*:VR#.+UH](2/(QV\E#9$G,JUUC,RHV0/1+_*\
M$IJ>_?(.E48]\,HI>+YO2'S&S+'YJ?-D]B2\3';,L8EG<V)./!JWNG_E\GXZ
MTXL?^_'C+POW_90"%]B4.62(NL[SJ'17R_:/C&<YM8L\R_*PVZ/SPL9W@[35
MM=XAZ8L[I%!T_59_&L1Z=@*'4&W5O &UHNE\P64P$KF$#D&#>H;+!C]W$!Z?
MB/,3S^.-][/WLV]V[/EBJI<3CGA.D2EA)9#=")8,0U$5]B?-2B*Q)IQD8>=7
MG?+&=V2UIUR8A^C&U<])7(_5RVWB[!["![M@7^&%22)WT2UK4(_A9?9SI^'W
MH8BSI*93U=_TTBY ZY#J'+DWZX4KE-2+Z5PUOY^8TE1$9';[D%<NQU99[\%S
M&V@494%P87 FO7AH V2.[02I;?7VK5:[?HW.G>)+\"JH$U\(ZAYG1>FQ[-G#
MM##^;0=CDZK<* T:K6_:QGKI(0TX'$H/[4#G0FD@#CL2"@.K\S3(<ZCA#H+"
M;#LX PK\:&1JX;;1]%N^F-FQEW;P3:;25%JY;Z8/:ZM!7>JZ1P^"RTIA:F-
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
M4CJ2@V-=S34J,=:^UX&,"L.3M,G)YOVACZ%W["SZ053ADPFP-[AN#URVVLK
MZ0!K5\NJBZA=!C,4C"G(I.G,M;Z0K],PK@9\.OG?#;S'BZ(#[^)%SAL;F:SE
M,,UOYB_#UREYPY/ <QU,F*"0-P1**E+AD39DO>!)F6#HM+9.M[^=E''UU6C
M:B&8#O#U =>AOI^]#LOYIN/7;D^),DU3\LJ,"4(%.B?!D+50J^N<% ZJ/\:U
M$M*&UCV-'J9JW/C(:*AK+*XN;LN=/6QX5J?Y+O%+??3]AMO2[K>+5:WJ?E<^
MA>^3PDU(S)/*-K4L0=!9(XN$@T#&K6")6=_ZJ?.1)(X;:AE/)0XHR Y4Y4W3
M>.*9*N0L2=+NI.=5G10;E60091;(BQ;!MW[)NDG%V*'B01R&(YG=P5O#;O+?
M/-^RGV2XCZ)(@K\69"DP U[9"+9DB\P5KMJW2GZ IG%?09^T@OMHD70 L1MS
MS=^L5J>8)\(@!E,3B3FI4Z54@.BL@^"$E3G8+'+K6MP[2!GW-?1)GK&.%4 '
M-]N-;;P[7:_685YSZ"8LV\*ED"!C3?_T1D!0G(&0I@A98I*^=0#W/GK&+0MX
M>D0=*HKG/F_X_48>7W ]36%V=5/-AP]?7>M))Q'?L\VG'$MLR0)'GA%\30\A
M?4566BH.'#-1\Y)=^^R9IQA+?/7Q8WN@7IRNORR6TW^0FDY,*#)+:9NNMD\0
MED.HKHCA0C!')\*G]KTB[Z-H[&?0QDBY_RWJ*'%T$;FXNA\ZRN^6&Q[FC9O]
M'I>;+4[0!EU<") C\4UY*<$E[P"C0E-+!8T<8'S7'I2-_=3TI'!K(IX.87?%
M\'3(E5,L HO:@6(J@HLIDP,3;<PJIVB'A=JCC?]Q<]A::[,#Q-"!_7_;3G;M
MSN(,B\Q;(-9$4-PD")DK2 S)84[)1=G:.GB I&>0S-8:6H<*I -\W7!J=BY]
MYYB4,=!1(9\9E#::M&^L3G,R(B'&*%K7FM]#SC,(@!V#JU:"Z.(:W-G,G7=[
MU,F;[,A%5K;.ZRP%O),*4!8G&3+-8NMG\CW(>@91L48H:R*8WM!VY:K/0LH4
M:A&%,A94L(&.#=>DF;E.UK* S7ME'!-K'3<RUE1W'2" /I&T>[-'[:TJ9#DB
MRD0<$A:B)56<0Z9K7J%V?$"%=9B=-=CXBJ?'U*&B>(;1U@OFKA9E^SC?/LIZ
MRQI#1U<?VE:CJ.KVTQ>+7:9J%W3!"P^97#]05GIPMK9E98&T4D@*0^NN['>0
M<GQFV#><G^*O="IK?5;]Y-^FZR\O3U=K6F[Y^OM9DX7:19W^/]>,#N62\!@+
ME%+'HSM+I[+.P.;"8>*>KOK0NOW/ 62.&V5M@9R;:6'#RJJ3>W-%%\%?%HN\
M>;W'Y;=IPM7'Q2Q/HA7%6Y;!DVXF?Y@["$$%D"F&)+*-PK=/\;^+FG&CJD/
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
M4(.Y5O<0-&ZN4WOXM.-^!U#Z@.M0>RN_#LOY=/YY=;8+K0M/0EG ),GI++&
M1^*42Z24E4G<I=9O-[=3,FXV4WOP-.!W!ZAYD=+IR>DFK^6N?L%G&V-,9*]2
M A8E!^5JPYDH%11FI8E!A'A]\M/QRFA?XL9]TQY ,0TBE0[@=F$UOJ6C\X9^
MN9H$2T3[(@ 5(SZI8.FL: %>!67H+''1?';H32HZJ>YOZ'\=QN .('(S"^-F
M?./#8C;[=;'\(RSSA%2L2ZD44$G3->UJ5%5(!HX'K=#KI,KPO<GN);$31^U
M1#S85*>=>#I WXY'L4GJ7+T[7:_685[3@"96,(4\.]!%DG-A?(%HK0"K4 E5
MM"W-AVK?1T]O'60; N%N/^\XJ723V'*35Q.3BZOI8[4RD2Q'J<AUK:R22B6#
M)H32/)GVKF>3?EK$#H>I(R70#9*NC@/GP6#44H(C$Z+.'LL0F-Y8$8*3 U*4
M;QTR>/PD]B?L_3H<?@[G>Q>U=?=-A]E[]LMEL_N+N2\8K<AD7T"QI(@5TP:<
MT0PP1)NU#"Z7UJ^/ VVEMR:SPT&Y!RR,6KJUG>NQL2S^"U?TM?/MOCI=DHFQ
M30_?_OZD*.Y-3F1?<$N7!'-(9YZ,9Z5DTLIQ9+C?!.S]UNNMK6Q[% [%_!&]
MB;VV]%]A=HH3G:SPG!D0UC$@<U6#*[(Z9+Y$'Y@4.36!TV:YWOJ^CH2FQ[.^
M ]?TRF29.YXN-AN/UPL1/R"Q=C5=XT=<?ILFW#+A;/)B_0-;?G@,N@A'[#;5
MAI&>U2YF""**8JQWUJ?6D92A]S1N6O-3WN%=H:.#TW)OR(!9VHK0"@ROXQEB
M1HA9NSJPN7B1>+;-F\H?'<@9+&&ZFT#.8Z0R<J7'/4&$P##)0/X?F2AU#'/*
MX$)B$#UYB%%FC;(UM@X,XPR65#UR&.<Q$FB*HY:YUK^$U72U*.]WOG5("O5M
MGSD^,_I!XAHE/+];?@[SZ3\V"UPF86_=T=W%+YJ&T!UWD9]]D01K KF>&!F8
M;9F[B1""J)TPN1+):$%8:1V2:$'XT2&>8XAX-5VEV6)UNL1/),Q?Z+M_GWB7
MM)0"(<?:SR(H!\YQ"Y$4- O:<:5;=_EJO8=QWTR>'L\W0CUC8J)AX+.EJOU(
M=U2UE>GN($ODMS /GS?[_>L*%^7U:CT](0:L#M&^>W[Y>(5\R!:.U-%;1_MR
MW0MXANRULQS!JCII.;H(SA-:E3;>QH 92WB(<7=]_+B S.7W+O%+IF40,6A
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
M:R7T6!KWPII[!E@;5#B]@Z\&,!>G\_4',K[?XS)MU#3=U,DE!./1U+%;B=Q
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
MW0< 8^J'(X1U7=P'<&YD@?\6OM<RLG,_2GGK4N:0$!%4K6<A114@Q<A*G1O
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
MYV'K"-\$=^>7R$C=A-V\G BN!#J>@:-(H!BW$%0N8#Q*$[T+)@UU>S1LX=[
M6K"!N)K-ESAC*="_PORVDT.[ J!G2S8O^WF9Z &*?2PKUA $2!]Y5A]G.@A6
MDC7TS&J!/'O;VK%Y=\4^63BGZQN@A#E3I&<D?3FQ0!;9!&EE$,U3V_]GQ3['
MH/ \Q3['R'@$8<Q3M7+YK9LMNODOCYM[)>\K"SDD4:\GK$.(M5NE#2P5XFJQ
MMK5U?I6HL=V;GQTH+]9Q])7:V&&XJ51(+EMR,134Z7^@A$7PC#M0*7 6E!.9
MM;[>/("L,95U] ;",3 [02HC !I1C8OE--4#W?7GYLPZGCC4$<M$=R&G6:(#
MIHU,D5'0Y9LG!9]1,6(8G2+H;=/:C^L#XB9UJ]ER?C/Y]^5$ZA*T=PJ*K^-@
M/&<0#%J0R*W7,2;^8O)X@>FO7[KO?]NL> N3S1\>$/*PW\ VKJ?$NE[L&X&B
MV%-]J= 743MVVQ(0E'01G/$<L C#N;-8I#NK$3JJ"GKD]5GM7*"3Y#-*E&VT
MK:4O*@4EP#(,I&WI"$$E^MB\5](3NV1NW='G755!'R7G0ZN@CV'Z",#S:OFM
M224'0RI7V#IY1)$#Z%16Q"25B[;H-6_]N.B=5D$?)?ECJZ"/$<,(8-6T5M'0
M:6/].K5*=':9+7AD%E3A-N08=2G-YSZ^=17T&]:LO+65'0P+(TF8_MB1^SJ-
MJ^7F _]U.IM>KZXO9K-5?4G]\(_U'>[=DVSZ6>=R3"S9(A0F555B0(5:?BYC
M!%,G</NHA,2MHI:7<ZA]B'F'-V9-8+0CY?IF,AV/+G]VY/#?PX_,+5.:G"HR
M7Y:.S"AZBR9Y*#F3[7+."&S=B*4!V>\P/FH)^*$ ,%*]?==T[,?N^KJ;W;8>
M^R=>Y4DBYTMK,HD9+7&4& U1U5].F<QB*9K%/CIZW\;OT+%X*WW<1%;CT;V/
M6/CD0_OA9O.=48 08D+F#!@>:L=P"D$\SP8P4)B0K!1AN]CJ#$[R'N+&5M0Z
MK!YM+,Q1=LKYHY:6S)8W/<IAMI?H7_[R(E&-RET^S;N\2LO-5E-\'$K=5Q@8
M80WJI,!Q[PA$8MV$W$%P013',SK5.EMT"%W]AC+>CR.Y8_,F<G191)(K\)(U
MJ5EM(,0Z'3<B(E=*!!0'&<<]&PP\BK&UN)\.:&S TP&-V&*^G'RNG<S6MZW:
MUEXY1H%.3H 29'E=C %"J+GDG-'C0:EW6O41X.E/#V!_LN$PP&@GMZXO$\<@
M^<WMI2*?2V>1 2.=7L7,P9FH(46G5.V?E.Q!3W,.D?V0=\0]A+4M[A,X-[#
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
MM8'CVPGP_'=$FW^H_XE$WM__\C]02P,$%     @ I7&(5^O80_Q$!P  PA\
M !D   !V:7)C+3(P,C,Q,#,Q>&5X,S$Q;F<N:'1MW5EM;]LV$/Z^7\&E6)<
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
MS/VA;GOV]QV'?\VQ/)I^4=K;=C$<N79L:9EBHJ75CGX4(FV?@BG(,]J)3BA
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
M^%;#MP  6;4* !$              ( !     '9I<F,M,C R,S$P,S$N:'1M
M4$L! A0#%     @ I7&(5VN5[85S#   #'\  !$              ( !\K<
M '9I<F,M,C R,S$P,S$N>'-D4$L! A0#%     @ I7&(5\0[ :ZR'   _Q$!
M !4              ( !E,0  '9I<F,M,C R,S$P,S%?8V%L+GAM;%!+ 0(4
M Q0    ( *5QB%?@:C%7]24  +&( 0 5              "  7GA  !V:7)C
M+3(P,C,Q,#,Q7V1E9BYX;6Q02P$"% ,4    " "E<8A7O,*F.+:<  !H808
M%0              @ &A!P$ =FER8RTR,#(S,3 S,5]L86(N>&UL4$L! A0#
M%     @ I7&(5] B_3$I6@  0=8# !4              ( !BJ0! '9I<F,M
M,C R,S$P,S%?<')E+GAM;%!+ 0(4 Q0    ( *5QB%?KV$/\1 <  ,(?   9
M              "  >;^ 0!V:7)C+3(P,C,Q,#,Q>&5X,S$Q;F<N:'1M4$L!
M A0#%     @ I7&(5QF_5>1A!P  '"   !D              ( !808" '9I
M<F,M,C R,S$P,S%X97@S,3)N9RYH=&U02P$"% ,4    " "E<8A7\[>K@R$%
M  !!%P  &0              @ 'Y#0( =FER8RTR,#(S,3 S,7AE>#,R,6YG
:+FAT;5!+!08     "0 ) %\"  !1$P(    !

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
